Ch.1 Introduction To SE
Ch.1 Introduction To SE
Software
Engineering
What is Software?
Software has a dual role. It is a product, but also a vehicle for delivering a
product.
Internet Software :
Programs that support internet accesses and applications. For example,
search engine, browser, e-commerce software, authoring tools.
Software methods:
Software engineering methods provide the technical “how to’s” for
building software.
Software process:
Software engineering process is the glue that holds:
- technology together
- enables rational and timely development of computer
software.
Software engineering process is a framework of a set of key process
areas.
It forms a basis for:
- project management, budget and schedule control
- applications of technical methods
- product quality control
Software tools:
- programs provide automated or semi-automated support for the
process and methods.
- programs support engineers to perform their tasks in a systematic
and/or automatic manner.
Objectives:
- Identify new problems and solutions in software production.
- Study new systematic methods, principles, approaches for system
analysis,design, implementation, testing and maintenance.
- Provide new ways to control, manage, and monitor software process.
- Build new software tools and environment to support software
engineering.
Major Goals:
- To increase software productivity and quality.
- To effectively control software schedule and planning.
- To reduce the cost of software development.
- To meet the customers’ needs and requirements.
- To enhance the conduction of software engineering process.
- To improve the current software engineering practice.
- To support the engineers’ activities in a systematic and efficient
manner.
Communication
Planning
Modeling
Construction
Deployment
• Peer reviews
• Intergroup coordination
• Software product engineering
• Integrated software management
• Training program
• Organization process definition
• Organization process focus
Waterfall model
Incremental process models
– Incremental model
– RAD model
Evolutionary Process Models
– Prototyping model
– Spiral model
Object oriented process model
34 Dr. Jyoti Deshmukh
WATERFALL MODEL
a.k.as Linear life cycle model or
COMMUNICATION
Project initiation
classic life cycle model
Req. gathering
PLANNING
Estimating
Scheduling
tracking
MODELLING
Analysis
design
CONSTRUCTION
Code
Test
DEPLOYMENT
Delivery
Support
feedback
Dr. Jyoti Deshmukh 35
WATERFALL MODEL
Deployment
– System Delivered to Customer/Market
– Bug Fixes and Version Releases Over Time
Strengths
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than cost or schedule