- Type
- Handout
- Course
- CS603 Software Architecture and Design
- Size
- PDF 3 MB
- Updated
- 23 Oct 2026
You get 3 free files a day on the website. Add the Chrome extensionSign in with the extension for 30 a day.
Preview text
Text from pages 1, 3, 4 of 65. Download the file for all 65 pages.
HANDOUTS (MID TERM)
WEEK 1-8
We live in a designed world.
Design is economically important and effects our quality of life
Any product that is an aggregate of more primitive elements, can benefit from the activity of design.
Software Products:
Software is any executable entity, such as a program, or its parts, such as sub-programs.
A software product is an entity comprised of one or more programs, data, and supporting materials and services that satisfies client needs and desires either as an independent artifact or as essential ingredient in some other artifact.
What Is Software Design?
Software design is the activity of specifying the mature and composition of software products that satisfy client needs and desire, subject to constraints.
Software designers do what designers in other disciplines do, except they do it for software products.
Design bridges that gap between knowing what is needed (software requirements specification) to entering the code that makes it work (the construction phase).
Standard Levels of Design
Why Design is Hard?
Design is difficult because design is an abstraction of the solution which has yet to be created
Design as Problem Solving:
An especially fruitful way to think about design is as problem solving.
Advantages:
- Suggests partitioning information between problem and solution
- Emphasizes that there may be more than one good solution (design)
- Suggests techniques such as changing the problem, trial and error, brainstorming, etc.
Abstraction:
Abstraction is an important problem-solving technique, especially in software design
Abstraction is suppressing or ignoring some properties of objects, events, or situations in favor of others.
Importance of Abstraction:
1. Problem simplification:
Abstracting allows us to focus on the most important aspects of a problem in (partially) solving it.
2. Structuring problem solving
Top-down strategy: Solve an abstract version of the problem, then add details (refinement)
Bottom-up strategy: Solve parts of a problem and connect them for a complete solution
What is Model?
A model is an entity used to represent another entity (the target) by establishing
a) A correspondence between the parts or elements of the target and the parts or elements of the model
b) A correspondence between relationships among the parts or elements of the target and relationships among the parts or elements of the model.
Modeling:
A model represents a target by having model parts corresponding to target parts, with relationships between model parts corresponding to relationships between target parts.
Related CS603 files
All CS603 files →Get more out of VUBuddy, for free
- Unlimited downloads
- The explanation behind every MCQ answer
- Study offline on slow data
- 30 downloads a day instead of 3
- Sign in and buy Pro Semester here
One Pro Semester membership works in both the extension and the app.