Property of Penn Engineering
How Do We Convert
Requirements to a Design?
Copyright By PowCoder代写 加微信 powcoder
Property of Penn Engineering
1. Requirements: what are we going to build?
2. Design: how are we going to build it?
3. Implementation: let’s build it!
4. Testing: did we build it right?
5. Maintenance: how do we make it better?
Software Development Lifecycle (SDLC)
Property of Penn Engineering
• The process of converting a set of requirements into
a software artifact (code)
•Doing so in such a way that the code is:
• easy to understand
• easy to change
• easy to test
What is Software Design?
Property of Penn Engineering
• Software changes during its lifetime
• Fixing bugs
• Adding new features
• Using new libraries
• Improving efficiency
• Software that is well-designed facilitates those changes,
saving time and money
Why is Software Design Important?
Property of Penn Engineering
1. Modeling: identify concepts and their relationships
2. Apply good architecture
3. Use appropriate data structures
4. Use design patterns when appropriate
5. Refactor (change the design) as necessary
How Do We Design Software?
Property of Penn Engineering
1. Modeling: identify concepts and their relationships
2. Apply good architecture
3. Use appropriate data structures
4. Use design patterns when appropriate
5. Refactor (change the design) as necessary
How Do We Design Software?
Property of Penn Engineering
• Identify concepts (classes) in the requirements that
need to be represented in the design
• Identify their properties or attributes: what they
• Identify their behaviors or operations: what they do
• Identify their relationships: how they interact
Domain Modeling
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
•Noun = class or attribute
• Adjective = subclass or attribute
• Verb = operation or relationship
Grammatical Parsing
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
• A noun should be a class if:
• it has multiple attributes and/or operations
• all attributes/operations are common to all instances of
• Otherwise it should likely be an attribute of
another class
Nouns: Classes or Attributes?
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
• An adjective should represent a subclass of another
• different adjectives would imply different or additional
operations or behavior
• different adjectives would imply different attributes
• Otherwise, an adjective should be an attribute of a
Adjectives: Classes or Attributes?
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
• “Student may apply to the program”
• Subject: student
• Direct object: program
• “apply” operation should go in Student class
• Certain verbs are more indicative of relationships
between classes than they are of operations:
contains, has, is, uses, consists
Verbs: Where Do They Belong?
Property of Penn Engineering
“Graduate and undergraduate
students may apply to the
program. The application
consists of a recommendation
letter and personal statement.”
Requirement
Property of Penn Engineering
• Class: Student
• Attributes/Subclasses: Graduate, Undergraduate
• Operations: Apply
• Class: Letter
• Class: Statement
• Class: Application
• Class: Program
Results of Grammatical Parsing
Property of Penn Engineering
• Graduate Student is a Student
• Undergraduate Student is a Student
• Application consists of Letter and Statement
• Student uses Application
• Student is associated with Program
Relationships
Property of Penn Engineering
• Identify concepts, properties, behaviors, and relationships
• Use grammatical parsing to assign roles based on parts of
• Noun: class or attribute
• Adjective: attribute or subclass
• Verb: operation
Summary: Domain Modeling
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com