Chapter 6 : System Design - SAKET-SK/Online-Electronic-Store-Project GitHub Wiki

Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. Design is the first step in the development phase for any engineered product or system. The designer’s goal is to produce a model or representation of an entity that will later be built. Beginning, once system requirements have been specified and analyzed, system design is the first of the three technical activities - design, code, and test that are required to build and verify software.


System Workflow

image


ER Diagrams

The relation within the system is structured through a conceptual ER-Diagram, which not only specifies the existential entities but also the standard relations through which the system exists and the cardinalities that are necessary for the system state to continue.

The Entity Relationship Diagram (ERD) depicts the relationship between the data objects. The ERD is the notation that is used to conduct the date modeling activity. The attributes of each data object noted in the ERD can be described a data object descriptions.

The set of primary components that are identified by the ERD is:

  • Data object
  • Relationships
  • Attributes
  • Various types of indicators.

The primary purpose of the ERD is to represent data objects and their relationships.

image

An open rectangle is a data store, data at rest, or a temporary repository of data.

image


Data Flow Diagrams (DFD)

RULES GOVERNING THE DFD’S

PROCESS

  1. No process can have only outputs.
  2. No process can have only inputs. If an object has only inputs, then it must be a sink.
  3. A process has a verb phrase label.

DATA STORE

  1. Data cannot move directly from one data store to another data store, a process must move data.
  2. Data cannot move directly from an outside source to a data store; a process, which receives, must move data from the source and place the data into the data store
  3. A data store has a noun phrase label.

SOURCE OR SINK

The origin and /or destination of data.

  1. Data cannot move direly from a source to a sink; it must be moved by a process
  2. A source and /or sink has a noun phrase

DATA FLOW

  1. A Data Flow has only one direction of flow between symbols. It may flow in both directions between a process and a data store to show a read before an update. The latter is usually indicated, however, by two separate arrows since these happen at different times.
  2. A join in DFD means that exactly the same data comes from any of two or more different processes data store or sink to a common location.
  3. A data flow cannot go directly back to the same process it leads. There must be at least one other process that handles the data flow produce some other data flow returns the original data into the beginning process.
  4. A Data flow to a data store means update (delete or change).
  5. A data Flow from a data store means to retrieve or use.

A data flow has a noun phrase label. More than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package.

image


UML Diagrams - Unified Modeling Language Diagrams

The Unified Modeling Language allows the software engineer to express an analysis model using the modeling notation that is governed by a set of syntactic, semantic, and pragmatic rules. A UML system is represented using five different views that describe the system from distinctly different perspectives. Each view is defined by a set of diagrams, which is as follows.

User Model View

  • This view represents the system from the user's perspective.
  • The analysis representation describes a usage scenario from the end-users' perspective.

Structural model view

  • In this model, the data and functionality are derived from inside the system.
  • This model views the static structures.

Behavioral Model View

  • It represents the dynamic of behavior as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.

Implementation Model View

  • In this, the structural and behavioral aspects of the system are represented as they are to be built.

Environmental Model View

  • In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented.

UML is specifically constructed through two different domains, which are

  • UML Analysis modeling, which focuses on the user model and structural model views of the system
  • UML design modeling, which focuses on behavioral modeling, implementation modeling, and environmental model views.

UML DIAGRAMS Every complex system is best approached through a small set of nearly independent views of a model; no single viewer is sufficient. Every model may be expressed at different levels of fidelity. The best models are connected to reality. The UML defines the following graphical diagrams.

  1. Class diagram
  2. Object diagram
  3. Use-case diagram
  4. Behavior diagrams
  5. Interaction diagram
  6. Sequence diagram
  7. Collaboration diagram
  8. Activity diagram

USE CASE DESIGN:

image

image

image

image

image

Use Case Sequence Diagrams

image

(Fig. 1.1) – Searching Categories

image

(Fig. 1.2) – Searching Products List

image

Fig. 1.3 – User Registration

image

Fig. 1.4 – Product Purchase Process

image

Fig. 1.5 - Order Management


DATA DICTIONARY

After carefully understanding the requirements of the client the the entire data storage requirements are divided into tables. The below tables are normalized to avoid any anomalies during the course of data entry.

Table: tblAddress

image

Table: tblAdminMenu

image

Table: tblAttributes

image

Table: tblBrands

image

Table: tblCategories

image

Table: tblCity

image

Table:tblCountry

image

Table:tblCustomer

image

Table: tblFeaturedProducts

image

Table: tblHintQuestion

image

Table: tblHotSellingProducts

image

Table: tblNewlyAddedProducts

image

Table: tblOfferedProducts

image

Table: tblOrderDetails

image

Table: tblOrders

image

Table: tblOrderStatus

image

Table: tblPageContent

image

Table: tblPostageCalculator

image

Table: tblProductsAdditionalPrice

image

Table: tblProducts

image

Table: tblProductAttribute

image

Table: tblProductImages

image

Table: tblProductRating

image

Table: tblShoppingCart

image

Table: tblState

image

Table: tblUpComingProducts

image

Table:tblUser

image

Table:tblWishList

image