Introduction To Software Engineering
Introduction To Software Engineering
Software Engineering
CHAPTER 2
A Layered Technology
tools
methods
process model
a “quality” focus
Software Engineering
Software engineering is a layered technology. The foundation
for software engineering is the process layer. The software
engineering process is the glue that holds the technology layers
together and enables rational and timely development of
computer software. Process defines a framework that must be
established for effective delivery of software engineering
technology. The software process forms the basis for
management control of software projects and establishes the
context in which technical methods are applied, work products
(models, documents, data, reports, forms, etc.) are produced,
milestones are established, quality is ensured, and change is
properly managed.
Process framework
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Umbrella Activities
A Process Framework
A process framework establishes the foundation
for a complete software engineering process by
identifying a small number of framework
activities that are applicable to all software
projects, regardless of their size or complexity.
In addition, the process framework encompasses
a set of umbrella activities that are applicable
across the entire software process. A generic
process framework for software engineering
encompasses five activities:
Framework Activities
Communication
Planning
Modeling
◦ Analysis of requirements
◦ Design
Construction
◦ Code generation
◦ Testing
Deployment
Framework Activities
• Communication
–involves heavy communication with the
Modeling
–encompasses the creation of models that allow
Development Phase
Focus on ‘how’the software works
Maintenance Phase
Focus on ‘change’ to the software
Definition phase