Software Engineering
Software Engineering is technological & managerial both discipline concerned on a development
& maintenance of a software project are products on time within cost estimation.
There are three important factors in software development is:
o Quality
o Schedule/time
o Budget/Cost
Developing a quality software within budget and within cycle time.
One of the important characteristics of software engineering is ‘Reusability’.
Advantages of Reusability:
Productivity will be increases.
Project development time is reduce.
Cost is saved.
Software process:
A sequence of steps performed for a given purpose.
A set of activities, methods that are people used to develop and maintain system.
If companies are not following process properly: Disadvantages: -
Commitment consistently missed.
Late delivery
Last minute crashes
Quality problem
To much rework
Functions do not work correctly.
Customer complaint after delivery.
People frustrated (End-User)
Benefits of Process:
Quality
Consistency
Traceability
Early defect removal
Reduce rework and rejections
Control of cost
On-Time
People:
A people is a set practices performed to achieve a given purpose, it may include tools, methods
and materials or a people.
The quality of product is largely determined by the quality of process that is used develop and
maintain it.
Process Model:
A model is structure of collection of practices that describe characteristics of effective process.
SEI – Software Engineering Institute at Carnegie Mellon University initiated by a US defense
department to help to improve software development process.
CMMI: Capability Maturity Model Integration – The CMM for software has been retired and
CMM replaces it & it is developed by SEI. Its model of 5 – level of process ‘maturity’ that
determine effectiveness in delivery of quality software.
Organization are receive CMMI ratings by undergoing assessments by qualified auditors.
CMMI for system engineering & software engineering staged representation.
Maturity Levels:
Performed – (Initiation)
Managed – (Management)
Defined – (Technical)
Quantitatively Managed (Quantification)
Optimizing – (Process Improvement)
Process areas by maturity level:
Performed – Overview:
Key Process areas (KPA’s):
o Introduction
o Structure of the model
o Understanding the model
o Usage of model
Managed – Basic project management:
Key Process areas (KPA’s):
o Requirement management(RTM)
o Project planning
o Project monitoring and control (Status report)
o Supplier agreement management
o Measurement and analysis
o Process and product quality Assurance (Audits)
o Configuration management.(WinSCP)
Defined – Process standardization :
Key Process areas (KPA’s):
o Requirement development
o Technical solution
o Verification
o Validation
o Organizational training
o Risk Management
Continuously managed :
KPA:
o Organizational process performance
o Quantitatively project management
Optimizing : Continuous process improvement :
KPA:
o Organization innovation & deployment (OID)