Software Engineering
Study of using tools to make coding more efficient
Characteristics of Software Engineering
Process Model of Software Development
Problem
obstacle that gets in the way of an achievement
requirements engineering
process of getting a complete description of the problem.
at the end of the engineering, a specification document is produced
specification document
Problem Defining Process
1) Elicitation: figure out what the user wants
2) Speicifcation: use cases and scenarios to determine what is the best route for getting the want
3) Validation: review and go back and see if the solution came up with is a valid solution that meets clients needs
Requirements Speicfication
decomposing problem into components or interfaces
- produces requirements specification document
Requirement
what the customer needs in a software
Types of Requirements
- Nonfunctional Requirement
Functional Requirement
specify what the software does
Nonfunctional Requirement
specify the qualities of the software
Requirements Specification Document
Nonfunctional requirements
Design
needs to solve the problem outlined in the requirements specification document
- create models to stimulate problem through architectural design
architecture
Purpose of architecture
Types of Architecture
- Distributed
Centralized Architecture
pipes and filters - takes a data stream of input and manipulates it
Distributed Architecture
3 Layered Architecture
3 Layer Architecture: Presentation Layer
3 Layer Architecture: Application Logic Layer
3 Layer Architecture: Domain
remote database