

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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
1 / 3
This page cannot be seen from the preview
Don't miss anything!
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
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
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
DEFINITION 4 High-Level Design (Architecture) Low-Level Design Algorithms Data Structures Component Interfaces TERM 5
DEFINITION 5 Trade-offs and priorities Involves restrictions Nondeterministic A heuristic process
1- Iterative Enhancement 2- Stepwise Refinement 3- Information Hiding TERM 7
DEFINITION 7
individual components are needed to perform the same task
components: when a change is made, it is localized in a single unit TERM 8
DEFINITION 8 Cohesion Coupling Understandability Adaptability Traceability TERM 9
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
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