Professional Documents
Culture Documents
Chapter 5
Chapter 5
LOGO
1. 2. 3. 4.
What is system design? Why do we need system design ? Design evaluation criteria Stages of system design o Logical design - DFD o Physical design 5. Design methodologies & their advantages o Top-down vs. Bottom-up design o Structured design Functional decomposition Structured walkthrough Major development activities during structured design
o o
o
o
Database design Program design System and program test preparation System interface specification
One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
System design is a solution , a how to approach to the creation of new system based on the requirements of the user . System design requires a deep thinking about the right way to decompose a complex system into smaller modules that can be individually coded and re-combined to bring back the required system. It is the important stage of system development that provides the understanding and procedural details necessary for implementing the system specified in the feasibility study.
To have an understanding about the over all picture of what the new system should look like. This is very useful in making the conceptual layout of the new system. To create an adequate plan to satisfy user requirements before implementation is started . To divide a large complex system into smaller interacting modules .And if necessary to divide these smaller interacting modules into sub modules. To identify the number of necessary modules of a the new system to be developed and to plan how a large system should be divided into smaller modules. To have an efficient system and to minimize testing and maintenance efforts.
Efficiency Concerned with the proper use of scarce resources - processor & memory If other factors are same, efficiency should be maximized Maintainability Most affected by architectural design Should facilitate testing Should facilitate discovery and correction of bugs Make modifying the system easier
3.Design Goals(Continued)
Cost For same quality, minimize cost Design costs are quite small Should try to minimize cost in later phases Fault tolerance The built-in capacity of a system to provide continued correct service in the presence of one or more failures. Flexibility The design should be easily adaptable when changes of requirements occur User friendliness The design is easy for an untrained user to use; especially the design should have a uniform look and feel and standard interfaces Good documentation Program listings or technical manuals describing the operation and use of programs
Logical design :
Review the present physical system that is its data flows , file content , volumes , etc. Prepare input/output specifications determines format , content of input and output , etc. Prepare edit ,security and control specifications Prepare implementation plan Modeling techniques are used to represent the actual system in a simple graphical way Prepare logical design walkthrough Review benefits , costs , conversion date and system constraints
During logical design of a system it is important to find out how data flows through a system:
Where does the data originate What processing is performed on it and by whom Who uses the data What data is stored and where What output is produced and who receives it
The DFD is a diagram that consists principally of four symbols, namely the external entity, the data flow, the process and the data store.
Data stores
26/12/2011
11
If a data store exists without a flow from a process coming into it or a flow towards a process coming out of it then the analyst should further investigate the system (by asking the user such questions as how does the information get here in the first place? and who uses this information after it gets here?).
Direct flows of information between two data stores are evidently not possible. A data store is passive. It does not suddenly jump up and throw data to another data store in the same way that the contents of a cabinet dont suddenly materialise somewhere else, as if moved by a poltergeist(ghost).
CUSTOMER
KITCHEN
RESTAURANT MANAGER
CUSTOMER
KITCHEN
0
Food ordering system
RESTAURANT MANAGER
CUSTOMER
KITCHEN
0
Customer Order Food ordering system
Food Order
The figure above shows a context diagram(top level DFD) for the Restaurant System
CUSTOMER
KITCHEN
0
Customer Order Food ordering system
Food Order
RESTAURANT MANAGER
1.0
Receive and transform Customer Food Order
3.0
Update Goods Sold file
2.0
Update Inventory file
4.0
Produce Management Reports
1.0
KITCHEN Receive and transform Customer Food Order Food Order
2.0 3.0
Update Goods Sold file Update Inventory file
4.0
Produce Manageme nt Reports Management Reports RESTAURANT MANAGER
1.0
KITCHEN Receive and transform Customer Food Order Food Order
2.0 3.0
Update Goods Sold file Update Inventory file
D1
4.0
Produce Manageme nt Reports Manageme nt Reports
D2
Inventory File
RESTAURANT MANAGER
KITCHEN
Receive and transform Customer Food Order
Food Order
Receipt
3.0
Update Goods Sold file
Goods Sold
Inventory Data
2.0
Update Inventory file
Inventory Data
D1 Goods Sold
4.0
Produce Manageme nt Reports
D2 Inventory File
Management Reports
RESTAURANT MANAGER
5.Design Methodologies
Design methodologies refer to the collection of procedures, techniques , tools and documentation aids which help system designers to develop the proper design of the new system to be developed. Design methodologies are very importance to introduce structure into design so that the design process will be complete , consistent and more manageable and to minimize risks of failure in the latter stages of development. Design methodologies provide a set of rules for guiding the designer Many design methodologies exist Different methodologies may be useful for different applications
Improve productivity of analysts and programmers Improve documentation & subsequent maintenance and enhancement Cut down drastically on cost overruns and delays Improve communication among users, analysts , designers and programmers Standardize the approach to analysis and design Simplify design by segmentation
The individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed Necessary if existing modules have to be reused The designer must have some idea of the top modules
Pure top-down or bottom-up design is not always efficient way of system design Often a combination is used
Structured design
Structured design is an attempt to minimize complexity and make a problem manageable by subdividing it into smaller segments . This processes is called modularization or decomposition Modules are arranged in a hierarchical manner with the general modules at the top and detailed modules at the bottom Modularization enhances design clarity, simplifies implementation , reduces cost of testing, debugging and maintenance The system designer cannot simply chop a program into modules during modularization processes . The designer needs to know some guidelines so that he will know how many relevant modules are necessary and which interactions between/among the modules will best implement the specified requirements The most important guidelines in structured design are cohesion and coupling
Designers must ensure that they dont split essential processes into fragmented modules Designers must ensure that they dont gather together unrelated processes into meaningless modules. The best modules are those that are functionally cohesive . The worst modules are those that are coincidentally cohesive.
Coupling : is the degree to which the modules are interconnected with or related to one another.
Independent modules: if one module can function completely without the presence of other Independence between modules is desirable Modules can be modified separately Can be implemented and tested separately This decreases programming cost In a system all modules cannot be independent Modules must cooperate with each other More connections between modules More dependent they are More knowledge about one module is required to understand the other module. "Highly coupled" modules are joined by strong interconnection "Loosely coupled" modules have weak interconnections
More on Coupling
Modules should be as loosely coupled as possible . Where possible, we should have independent modules Coupling is inter-module concept Complexity and obscurity of interfaces increase coupling Minimize the number of interfaces per module and keep the interfaces as simple as possible. Coupling is minimized if Only defined entry of a module is used by others Information is passed exclusively through parameters Coupling increases if Indirect and obscure interfaces are used Internals of a module are directly used Shared variables employed for communication
Structure Charts
Structure Chart represents modules and their interconnections. It is the documentation tool for structured design
Structure chart has three elements:
Each module is represented by a rectangle with a name Connection between modules is represented by a vector linking those modules The coupling between modules is represented by an arrow with a circular tail.
The design is presented by its authors to the members of the team and other participants , in which the participants ask questions , give comments about possible mistakes , violation of design standards , etc. to identify the possible problems as early as possible and to suggest a possible solution. This is a practical implementation of the proverb a stitch in time saves nine which means a timely effort will save you from more work later. The objective is to come up with a maintainable design that is flexible and adaptable and meets the organizations standards.
User involvement is very important during system design . It gives the designer important feedback as the design is being completed. It also provides the user with a basic understanding of what the candidate system will and will not do.
End of Slides