Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Design: Understanding Concepts, Layers, and Challenges, Quizzes of Software Engineering

Definitions and explanations of key terms related to software design, including conceptual design, technical design, design layers, design challenges, and quality attributes. Learn about the importance of cohesion, coupling, and adaptability in software design.

Typology: Quizzes

2010/2011

Uploaded on 02/06/2011

malzahra
malzahra 🇺🇸

2 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
TERM 1
What is software design?
DEFINITION 1
Design identifies the how of the system  Involves tradeoff
analysis based on the requirements  Useful even on small
projects  Indispensable on large projects  Two-part
interactive process Conceptual design Technical design
TERM 2
Conceptual design
DEFINITION 2
Tells the customer exactly what the system would do  Written
in customer language  No technical jargon  Describes the
function of the system  Independent of implementation 
Linked to requirement documents
TERM 3
Technical design
DEFINITION 3
Allows system builders to understand the actual hardware
and software needed to solve customers problem 
Description of the major hardware components and their
functions  Hierarchy and function of the software
components  Describes the data structures and data flow
TERM 4
Design
layers
DEFINITION 4
High-Level Design (Architecture) Low-Level Design
Algorithms Data Structures Component Interfaces
TERM 5
Design Challenges
DEFINITION 5
Trade-offs and priorities Involves restrictions
Nondeterministic A heuristic process
pf3

Partial preview of the text

Download Software Design: Understanding Concepts, Layers, and Challenges and more Quizzes Software Engineering in PDF only on Docsity!

What is software design?

Design identifies the how of the system Involves tradeoff analysis based on the requirements Useful even on small projects Indispensable on large projects Two-part interactive process Conceptual design Technical design TERM 2

Conceptual design

DEFINITION 2 Tells the customer exactly what the system would do Written in customer language No technical jargon Describes the function of the system Independent of implementation Linked to requirement documents TERM 3

Technical design

DEFINITION 3 Allows system builders to understand the actual hardware and software needed to solve customers problem Description of the major hardware components and their functions Hierarchy and function of the software components Describes the data structures and data flow TERM 4

Design

layers

DEFINITION 4 High-Level Design (Architecture) Low-Level Design Algorithms Data Structures Component Interfaces TERM 5

Design Challenges

DEFINITION 5 Trade-offs and priorities Involves restrictions Nondeterministic A heuristic process

Timeless design guidelines

1- Iterative Enhancement 2- Stepwise Refinement 3- Information Hiding TERM 7

cohesion

DEFINITION 7

The cohesion of a module is the extent to which its

individual components are needed to perform the same task

High cohesion is a desirable design quality attribute for

components: when a change is made, it is localized in a single unit TERM 8

Quality Attributes

DEFINITION 8 Cohesion Coupling Understandability Adaptability Traceability TERM 9

Coupling

DEFINITION 9 Coupling refers to the degree of interdependence between modules Loose coupling is a desirable quality: it means component changes are unlikely to affect others TERM 10

Quality Attributes: Adaptability

DEFINITION 10 A general estimate of how easy it is to change the design The design must be easy to change A design is adaptable if: Its components are loosely coupled Each component is highly cohesive It is well-documented and kept up-to-date There is an obvious correspondence between design levels (design visibility) To adapt a design, it must be traceable