Exam 1 Study Flashcards
What is the definition of software engineering?
A discipline whose aim is the production of fault free software, delivered on-time, within budget and that satisfies the clients needs.
What are three criteria of a successful software project?
on-time
budget
satisfies clients needs
6 Stages of Classical Waterfall Model
- Requirements Phase
- Analysis Phase
- Design Phase
- Implementation Phase
- Post-delivery Maintenance
- Retirement
Temporal Maintenence
In the temporal model the activities defined as maintenance are define as such because they occur after development.
8 Principles of Software Engineering
Public Client Product Judgment Management Profession Colleagues Self
Benefits of incremental process
Generates working software quickly
More flexible
Easier to test and debug
Easier to manage risk
Disadvantages of incremental process
Rigid phases cannot overlap
not all requirements are known upfront
What is a specification?
a specification defines what the software should do.
What is design?
The process of turning requirement specification into a design model
What actions are performed during implementation?
code is generated and tested
What is the purpose of testing?
identifying bugs
Plan Driven
All activities are specified in advance
A project management process with no detailed plan, that uses incremental development
Agile
Refactoring
re-organizing code to make it simpler, straightforward and satisfactory
5 Core workflows of iterative model
Requirements Workflow Analysis Workflow Design Workflow Implementation Workflow Test Workflow