Software Design Development - Design Flashcards
Structure Diagrams
Description:
Visual representations of a system’s structure, showing components and their relationships.
Use:
Illustrate how different parts of a software system are organized.
Examples: UML class diagrams, entity-relationship diagrams.
Flowcharts
Description:
Diagrams that depict the flow of control or data in a process, often using symbols and arrows.
Use:
Visualize the sequence of actions and decisions in a program.
Aid in understanding complex processes.
Examples: Process flowcharts, decision flowcharts.
Pseudocode
Description:
A simplified and human-readable description of a program’s logic, using natural language with some programming-like constructs.
Use:
Plan and outline the logic of a program before coding.
Bridge the gap between design and implementation.
Example;
IF temperature > 30 THEN
PRINT “It’s hot outside.”
ELSE
PRINT “It’s cool outside.”
END IF
Creating a Design Using These Techniques
Process:
Based on the purpose and functional requirements, choose the appropriate design technique (e.g., flowchart, pseudocode).
Create a visual or textual representation of the software’s structure or logic.
Ensure that the design accurately reflects how the software will function.
This design becomes a blueprint for implementation.
Structure Diagrams in Software Development
Definition:
Are a visual design technique used to show the steps needed to solve a problem.
Purpose:
Visual design technique to illustrate the steps required to solve a problem or accomplish a task.
Reading Structure Diagrams
Reading Process:
Start at the top of the diagram.
Progress from top to bottom.
If a level has multiple branches, read from left to right before moving to the next level.
Common Symbols in Structure Diagrams
Symbols:
Rectangle: Represents a process or action.
Diamond: Represents a decision or branching point (usually with a yes/no outcome).
Ellipse: Indicates the start or end of a process.
Arrows: Show the flow of control or direction.
Using Structure Diagrams
Purpose:
Visualize and communicate the sequence of steps and decisions in a process.
Aid in understanding and planning complex procedures.
Analysis Phase’s Role in Design
Purpose:
The information gathered during the analysis phase informs the design phase.
Purpose and functional requirements established during analysis guide the design of the software.
Example Analysis Information
Purpose (from Analysis):
Create software for user to enter ten numbers, validate each number (0 to 100), and calculate a running total, outputting the final total.
Usage in Structure Diagrams
Incorporation:
When creating structure diagrams, the stated purpose and functional requirements influence the design of steps and decision points.
Design diagrams should address how the software will achieve the specified goals.
Flowcharts in Software Development
Purpose:
are another example of a visual design technique.
Use:
Flowcharts are a visual design technique used to represent the sequence of actions, decisions, and processes in a software solution.
Symbols Used in Flowcharts
Symbols:
Start/End: Represents the beginning or end of a process.
Rectangle: Denotes a process or action step.
Diamond: Signifies a decision or branching point (usually with yes/no outcomes).
Parallelogram: Represents input or output (e.g., user input or data output).
Arrows: Indicate the flow of control or direction.
Connectors: Used to link different parts of a flowchart.
Terminal: Represents a connector to another part of the flowchart.
Advantages of Flowcharts
Benefits:
Provide a clear visual representation of process logic.
Aid in understanding and communicating complex procedures.
Help identify errors and bottlenecks in a process.
Pseudocode in Software Development
Definition:
Pseudocode is a written design notation used to plan algorithms without relying on any specific programming language.
Description:
It’s not natural language like English and not formal code but bridges the gap between human-readable and formal code.
Pseudocode Characteristics
Features:
Uses indentation to clarify the use of programming constructs like loops and selection statements (IF or CASE).
Allows programmers to outline algorithmic steps.
Creating Pseudocode
Steps:
Define the main algorithm’s steps.
Refine main steps when necessary (not all steps need refinement).
No need to declare variables explicitly.
Indentation is used to highlight loops and selection statements.
Purpose of Pseudocode
Use:
To plan and outline the logic of a program before writing actual code.
It helps in designing algorithms and clarifying complex processes.
Example Pseudocode Snippet
BEGIN
Read user input into variable X
Set total to 0
FOR i FROM 1 TO 10
IF X >= 0 AND X <= 100 THEN
total = total + X
ELSE
PRINT “Invalid input”
END IF
END FOR
PRINT “Final total is: “ + total
END
User Interface (UI) Design in Software Development
Definition:
The user interface (UI) is the part of software that users interact with and see. It includes input and output components.
Role of Purpose and Functional Requirements
Purpose:
Purpose and functional requirements identified during the analysis phase inform UI design.
Function:
Help ensure the UI aligns with the software’s intended use and functionalities.
Wireframes in UI Design
Purpose:
Wireframes are visual representations (usually simple sketches) used in UI design to outline the layout and structure of a user interface.
Use:
Serve as a blueprint for the UI’s visual and functional elements.
Help designers and stakeholders visualize the UI’s organization.
Common UI Components
Examples:
Input elements (e.g., forms, buttons).
Output areas (e.g., screens, displays).
Navigation menus and controls.
Benefits of Wireframes
Advantages:
Clarify UI design concepts.
Facilitate discussions and feedback.
Guide developers in implementing the UI.
User-Centered Design
Approach:
Focus on designing the UI with the user’s needs and preferences in mind.
Usability testing and feedback are essential components of user-centered design.
In software development, the user interface is a critical component that should align with the software’s purpose and functional requirements. Wireframes are valuable tools to plan and communicate UI design concepts, ensuring a user-centered approach for an effective and user-friendly interface.
User-Centered Design
Approach:
Focus on designing the UI with the user’s needs and preferences in mind.
Usability testing and feedback are essential components of user-centered design.