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
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.
An open rectangle is a data store, data at rest, or a temporary repository of data.
Data Flow Diagrams (DFD)
RULES GOVERNING THE DFD’S
PROCESS
- No process can have only outputs.
- No process can have only inputs. If an object has only inputs, then it must be a sink.
- A process has a verb phrase label.
DATA STORE
- Data cannot move directly from one data store to another data store, a process must move data.
- 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
- A data store has a noun phrase label.
SOURCE OR SINK
The origin and /or destination of data.
- Data cannot move direly from a source to a sink; it must be moved by a process
- A source and /or sink has a noun phrase
DATA FLOW
- 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.
- 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.
- 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.
- A Data flow to a data store means update (delete or change).
- 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.
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.
- Class diagram
- Object diagram
- Use-case diagram
- Behavior diagrams
- Interaction diagram
- Sequence diagram
- Collaboration diagram
- Activity diagram
USE CASE DESIGN:
Use Case Sequence Diagrams
(Fig. 1.1) – Searching Categories
(Fig. 1.2) – Searching Products List
Fig. 1.3 – User Registration
Fig. 1.4 – Product Purchase Process
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
Table: tblAdminMenu
Table: tblAttributes
Table: tblBrands
Table: tblCategories
Table: tblCity
Table:tblCountry
Table:tblCustomer
Table: tblFeaturedProducts
Table: tblHintQuestion
Table: tblHotSellingProducts
Table: tblNewlyAddedProducts
Table: tblOfferedProducts
Table: tblOrderDetails
Table: tblOrders
Table: tblOrderStatus
Table: tblPageContent
Table: tblPostageCalculator
Table: tblProductsAdditionalPrice
Table: tblProducts
Table: tblProductAttribute
Table: tblProductImages
Table: tblProductRating
Table: tblShoppingCart
Table: tblState
Table: tblUpComingProducts
Table:tblUser
Table:tblWishList