Modular and Structured Design
Design – it bridges the gap between specifications and coding. Some of the properties of design are Verifiability, Traceability, Completeness, Consistency, Efficiency, and Simplicity.
Design Principles
These principles are meant to effectively handle the complexity of design.
These principles are:
- Problem Partitioning – The system is divided into modules that are self-dependent.
- Abstraction – Designing the outer view of the component without worrying about the details of implementation.
- Top Down Design – Decomposing major components into their subordinate level components and interacting until the desired level of detail is achieved.
- Bottom-Up Design – Process of combining modules to provide larger ones, to compile these to provide event larger ones and so till we arrive at one big module. This approach is more suitable as it starts from some existing modules.
- Structure Chart – it depicts the division of a system into programs along with their internal structure.
- Modularity – it means decomposing a system into smaller components (modules) that can be coded separately.
Guidelines for good design are:
- Factoring – A system should be divided into as many relatively independent modules as possible.
- A superordinate module should control not more than seven subordinates.
- Coupling – The dependency levels between modules should be minimal.
- Cohesion – A module should not perform more than one function.
Coupling
The communication between modules should be through parameters. Boolean variables or flags can be used for communication. There are five types of coupling:
- Data Coupling: Data is passed through parameters for communication.
- Stamp Coupling: Data structure is passed through parameters for communication.
- Control Coupling: Control information is passed through parameters for communication.
- Common Coupling: Global data areas used by the multiple modules.
- Content Coupling: One module can access the data inside another module and alter it. The same goes for the code of the moduls.
Cohesion
A module conforms itself to the performance of a single task.
There are seven types of cohesion. They are:
- Functional Cohesion: If every instruction in the module is related to a single task.
- Sequential Cohesio: All instructions in the module are related to each other the data that is passed to the module and sequence of the instruction matters.
- Communicational Cohesion: All instructions in the module are related to each other the data that is passed to the module and the sequence of the instruction doesn’t matter.
- Procedural Cohesion: Instructions are related to each other by the control flow.
- Temporal Cohesion: All instructions are related to each other by only the flow of control and are unrelated to their sequence.
- Logical Cohesion: The relation between instructions in the module is zero or bare minimum.
- Coincidental Cohesion: There is no relationship between instructions in the module.
System Analysis and Design Interview Topics for Freshers
System Analysis is the “what” before the “how” in system design. It provides the essential roadmap for crafting a system that is both effective and efficient in solving the intended problem. “Imagine you’re building a dream house. You wouldn’t start hammering nails without a detailed blueprint, right?”The same goes for software development.”
System analysis is the blueprint, while system design translates it into the actual system.
Important Topics for System Analysis and Design Guide
- Information System(IS)
- Characteristics(Properties) of a System Analysis
- Classification of System Analysis
- Distributed Systems
- System Analysis and Design
- System Analyst
- System Development Life Cycle(SDLC)
- Documentation of Systems
- System Requirements Specification(SRS)
- Fact Finding Techniques or Information Gathering Techniques
- Modular and Structured Design
- Form Design
- Report Design
- Process Modeling or Data Flow Diagram (DFD)
- CASE Tools – Computer-Aided Software Engineering Tools
- Implementation of Systems
- Maintenance of Systems
- Audit of Computer Systems
- Viruses
- Concurrent Audit
- Different Kinds of Information Systems