Concept of System Design
Concept of System Design
This is the most creative and challenging part of SDLC. In this phase, the designer tackles the problem that how to develop the selected solution. The analyst and designer involved in the development of the system often use combination of top-down and bottom-up design approach. To create the logical design different kinds of tools are used:
- Algorithm
A designer uses the modeling languages to express information and knowledge in a structure of a system that is defined by a consistent set of rules and definitions.
- Flowchart
System flowcharts are a way of displaying how data flows in a system and how decisions are made to control events.
- Pseudo codes
Software developers write pseudo code to ensure that programmers can understand a software project’s code accordingly. Simple English language and syntaxes are used to write codes.
- Decision table
The decision table (cause-effect table) is a software testing technique that is used for testing the system behavior for different combinations which is a systematic approach where the different input combinations and their corresponding system behavior are captured in a tabular form.
- Data flow diagram
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows within a system. DFD can be manual, automated, or a combination of both. The objective of a DFD is to show the scope and boundaries of a system as a whole.
- E-R diagram
Enitity Relationship Diagram is a diagram that displays the relationship of entity sets stored in a database. ER diagrams help to explain the logical structure of databases which are created based on three basic components: entities, attributes, and relationships.
Software and Quality
Software quality is defined as a field of study and practice that describes the desirable attributes of software products. There are two main approaches to software quality: defect management and quality attributes
Defect Management
It can be regarded as any failure to address end-user requirements. Common defects include missed or misunderstood requirements and errors in design, functional logic, data relationships, processing time, validity checking, and coding errors. More mature software development organizations use tools, such as defect leakage matrices (for counting the number of defects that pass through development phases) and control charts, to measure and improve development process capability.
Quality Attributes
This approach to software quality is best exemplified by fixed quality models, such as ISO/IEC 25010:2011. This standard describes a hierarchy of eight quality characteristics, each composed of sub-characteristics:
- Functional suitability
- Reliability
- Operability
- Performance efficiency
- Security
- Compatibility
- Maintainability
- Transferability
Some quality of software quality are:
- Accuracy
- Availability
- Compatibility
- Functionality
- Manageability
- Performance
- Usability