SOFTWARE
ENGINEERING
Ravichandra
Software Engineering:-
Software engineering is the technical
aspects of building software systems,
but also management issues, such as
directing programming teams, scheduling
and budgeting.
Project:-
A Project is a temporary endeavor undertaken
to create unique product, services or result.
Values of Project:-
-Scope
-Schedule
-Resources
-Quality
Types of Project:-
-Development Project
-Maintenance Project
-Migration/ RE-Engineering Project
Differences between SLC and SDLC:-
Software Life Cycle:-
The period of time that begins when a software product is
concived and ends when the software product is no longer
in use.
Software Development Life Cycle:-
The period of time that begins with the decision to develop
software product and ends when the software product is
delivered.
Engineering Example:-
Building the House
-Land and Finances
-Requirements
-Designing the house
-Floor and roof framing
-Painting and
decoration
-Living in the house
-Fixing minor problems
Engineering Example:-
Building the House SDLC
-Land and Finances -Request for proposal
-Requirements -Requirements Analysis
-Designing the house -Design
-Floor and roof framing -Coding
-Painting and -Testing
decoration -Implementation
-Living in the house -Maintenance and Support
-Fixing minor problems
S D L C
In Software Development Life Cycle there are two
Activites
Management Activity
Engineering Activity
S D L C
Management Activity:-
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule)
-Risk Identification and Management
Quality Assurance
Metrics Management
Configuration Management
Delivery and Acceptance
OutPut: Project Plan(Risk, CM, QA, MM)
S D L C Planning (Estimation, WBS)
Management Activity:-
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule)
-Risk Identification and Management
Quality Assurance
Metrics Management
Configuration Management
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C Planning (Estimation, WBS)
Productivity Table:-
1 FP In JAVA 10 hours
Management Activity:- 1 FP In .Net 8 hours
1 FP In C and C++ 11 hours
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule) Cost Table:-
-Risk Identification and Management 1 hour Rs. 5000/-
2 hours Rs. 10,000/-
Quality Assurance 3 hours Rs. 15,000/-
Metrics Management
Configuration Management
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C Risk Identification and Management
1) Identifiactaion of Risk
Management Activity:- -Attrition
-Customer doesn’t have bussiness knowledge
Project Manager -Lack of proper Hardware and Software
-Planning (Estimation, WBS) -Natural calamity like Flood, Earth Quack
-Terrorist Attack
-Tracking (Cost, Effort, Schedule)
-Risk Identification and Management
2) Impact of Risk
Quality Assurance
3) Probability of Risk
Metrics Management
4) Prioritize of Risk.
Configuration Management
5) Mitigation (or) Contingency
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C
Management Activity:-
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule) - QA are the concepts to be followe
-Risk Identification and Management by company to develop the software
Quality Assurance
- An QA team is responsible for
Metrics Management
Monitoring & Measuring the
Configuration Management Strength of developing processes
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C
Management Activity:-
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule)
-Risk Identification and Management
Quality Assurance
Metrics Management
Configuration Management
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C
Management Activity:-
Project Manager
-Planning (Estimation, WBS)
-Tracking (Cost, Effort, Schedule)
-Risk Identification and Management
Quality Assurance
Metrics Management
Configuration Management
Delivery and Acceptance
OutPut: Project Plan
(Risk, CM, QA, MM)
S D L C
Engineering Activity:-
- The Software is developed in Cycles/ Phases
- There are few models based on the sequencing of different
cycles.
- Following are some of the important models:
- WaterFall Model
- Spiral/ Iterative Model
- Prototype Model
- V-Model
- Agile Model
S D L C
WaterFall Model:-
- One after the other is called waterfall model.
- It is like step by step procedure
S D L C
WaterFall Model:-
Advantages of WaterFall Model:-
- Requirements are frozen in the beginning so that product will be
robust and bug free.
- Well suited for project with low risk in user interface and
performance requirements and high risk in budget and schedule.
- It is easy to understand and to explain as it identifies a predictable
sequences of events.
- It provides a relatively easy means for assessing progress.
- It covers the essence of the engineering activites required to
build the software product.
S D L C
WaterFall Model:-
Disadvantages of WaterFall Model:-
- The requirements are expected to be specified clearly,
correctly and completely at the beginning the project.
- Customer involvement is low --- the customer is only
involved during analysis and later when the system is ready
to be delivered.
- Development is treated as a long, Unidirectional pipeline
of activites.
- Changes in requirements are difficult to incorporate in the
product.
- Large systems take a long time to be completed.
S D L C
WaterFall Model:-
Applications:-
- Life critical applications where requirements don’t change.
- Small applications.
(waterfall model mainly used in medical application, room booking)
S D L C
Spiral Model/ Iterative Model:-
- Poject is done module by module incremently.
S D L C
Spiral Model/ Iterative Model:-
Advantages of Spiral Model:-
- Accommodates life cycle evolution growth and requirement
changes.
- Activities are done module-wise and hence if there are any
changes it will not affect the entire product.
- Modules not realeased until they are built robustly.
- Early focus to re-usable software.
S D L C
Spiral Model/ Iterative Model:-
Disadvantages of Spiral Model:-
Requirements, Design are not tested. Testing done only after coding.
Applications:-
- For applications where the modules need to be build separately.
- Suitable for large, expensive and complicated projects.
(Spiral Model mainly used in saving module, current module)
S D L C
Prototype Model:-
Performance requirement is heavy, we build the
Duplicate model and we show to the customer.
S D L C
Prototype Model:-
Advantages:-
- Avoids misinterpretation of requirements.
- Changes/Modification can be handled easily.
- Reduction in time and expense of testing phase.
- Better communication between developers and
customers.
S D L C
Prototype Model:-
Disadvantages:-
- Investment and time is high.
- Reliance on software tools to do prototype.
- Prototype developed cannot be re-used.
- The Developers may be tempted to make the actual
patching (or) refreshing the prototype instead of
building the product afresh.
S D L C
Prototype Model:-
Applications:-
- Project were user interface is high.
- Projects were customer are not clear with the
requirements.
- Testing is not done in phase wise.
S D L C
V-Model:-
- The quality of product is very high to reduce the time and
defects is called V-Model.
- VV-Model means Verification & Validation
S D L C
V-Model:-
Advantages:-
- Each stage is tested and the bug is caught in the early stage.
- Testing team understands the product very well.
- Cost of rework is very less as downward flow of bugs is avoided.
- Product developed will be robust product.
Disadvantages:-
- Initial ivestment needed is more.
Applications:-
- For High quality product to be delivered is short duration.
THANK YOU