代写代考 Property of Penn Engineering

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