Merry Christmas !
Icon done by Aleem Dabiedeen
Design Phase
Design phase
Edu Level: Unit2
Date: Jul 17, 2024
⏱️Read Time:
- Design process
Transforming the customer's requirements into a form implementable using a programming language. -
- Architectural design
The specification of the major components of the systems, their responsibilities, properties, interfaces and the relationships and interactions between them.
- Interface design
The specification of the interaction between the system and its environment. It is focused on the dialogue between the system and the users and other systems it interacts with.
- Data structure design
Starts with specification of the program and then leads to a detailed design expressed in pseudocode.
- Algorithm design
Creating step-by-step procedures or instructions for a computer to follow while performing a task or solving a problem.
Tools and Techniques
- Structure charts
Depict the relationships between modules, functions and subfunctions enabling developers to design and maintain complex systems
- CASE tools
Aid in the developmental system to produce high-quality, maintainable software.
- Semantic Data Models (Entity-Relationship Diagrams)
Provide a visual representation of data structure and relationships.
Basic principles in each of the Design Methods:
- Top-down
Breaks down system into smaller components and designs each component until the entire system is defined.
- Bottom-up
Starts with the smallest components and builds all the way up to the larger ones.
- System structuring
Breaks down a system into smaller and smaller components and defines the relationships between the components.
- Sub-systems
A group of components that work together to perform a specific function.
- Modules
A unit of code that performs a specific function.
- Programs
A collection of modules that are combined to perform a specific task.
Design Strategies
FUNCTIONAL | OBJECT ORIENTED |
---|---|
Simple | Complex |
Not likely to change over time | Likely to change |
Smaller projects | Larger projects |
Not easily scalable | Easily scalable |
Clarity and Simplicity
- Clean and simple design
- Clear Concise language
- Avoid clutter
Consistency
- Same font, colors etc.
- Terminology
- Buttons, menus and forms
Hierarchy and Organization
- Use visual cues to establish clear hierarchy of information
- Logical and intuitive organization
- Use headings, subheadings and whitespace
Feedback and error prevention
- Clear and timely to user actions
- Clear error and warning messages
- Easy to und0/correct mistakes
- Help button/menu
Accessibility
- Suitable for disabilities
- High contrast colors
- Alternative text for images
Testing and Iteration
- Test with real users
- Change based on feedback