Software engineeringLesson 1 of 2 in the course Requirements and design

Software Design: Iteration, Quality Attributes, and Modeling

5 flashcards · 5 quiz questions · 5 match pairs · 5 fill-in sentences · English

Lesson progress
0 / 5

Your progress is kept in this browser only.Sign up to save it

Summary

Software design turns an understanding of what a system must do into a plan for how it will work. This lesson introduces the meaning of software design, its place in development, and the ways designs can be represented and refined.

Software design is the process of conceptualizing how a software system will work before it is implemented or modified. The term also refers to the outcome of that process: the concepts that describe how the software is intended to work. Those concepts may be formally documented or maintained less formally, including through team knowledge and oral tradition.

All flashcards

What is software design?
It is the process of conceptualizing how a software system will work before implementation or modification, as well as the resulting concepts about how it will work.
How do requirements and design differ?
Requirements establish what the system needs to do; design describes how a proposed solution will work to meet those needs.
What is the purpose of a software prototype?
A prototype models some aspects of a proposed system so a team can explore behavior, test assumptions, and evaluate a design before full implementation.
Name examples of software design artifacts.
Examples include flowcharts, use cases, pseudocode, UML models, and user-experience storyboards.
Why is software design compared to a house plan?
Both can show a whole system at a high level and provide more detailed guidance for constructing individual parts.

Quiz questions

  1. Which design concept retains information relevant to a purpose while leaving out background detail?Answer: Abstraction
  2. What does vertical partitioning do in software design?Answer: Distributes control and work from top to bottom.
  3. Which quality focuses on resisting or recovering from component failure?Answer: Fault tolerance
  4. What does Business Process Model and Notation (BPMN) model?Answer: Business processes
  5. Which modeling language expresses complex structural constraints and behavior?Answer: Alloy

Based on the Wikipedia article Software design, licensed CC BY-SA 4.0. Adapted into a summary, flashcards and quizzes.

All Software engineering lessons