Showing posts with label Software Engineering(SE). Show all posts
Showing posts with label Software Engineering(SE). Show all posts

Saturday, October 27, 2018

What is Capability Maturity Model (CMM) Process Area (PA) and Key Process Area (KPA)?

Capability Maturity Model (CMM)Process Area (PA) and Key Process Area (KPA)
Previously known as  Key Process Area (KPA)

A process area (PA) contains the goals that must be reached in order to improve a software process. A PA is said to be satisfied when procedures are in place to reach the corresponding goals. A software organization has achieved a specific maturity level once all the corresponding PAs are satisfied. The process areas (PA’s) have the following features:

1.    Identify a cluster of related activities that, when performed collectively, achieve a set of goals considered important for enhancing process capability.

2.    Defined to reside at a single maturity level.

3.    Identify the issues that must be addressed to achieve a maturity level.



The different maturity levels have different  process areas pre-defined as shown in the figure above. The SEI CMMI Level 5 has 3 PA’s defined:

·         Process change management: To identify the causes of defects and prevent them from recurring.

·         Technology change management: To identify beneficial new technology and transfer them in an orderly manner

·         Defect prevention: To continually improve the process to improve quality, increase productivity, and decrease development time.

The purpose of Process Change Management is to continually improve the software processes used in the organization with the intent of improving software quality, increasing productivity, and decreasing the cycle time for product development. When software process improvements are approved for normal practice, the organization’s standard software process and the projects’ defined software processes are revised as suited.

The goals sought to achieve are as follows:

·         Continuous process improvement is planned.

·         Participation in the organization’s software process improvement activities is organization wide.

·         The organization’s standard software process and the projects defined software processes are improved continuously.

These defined standards give the organization a commitment to perform because:

·         The organization follows a written policy for implementing software process improvements.

·         Senior management sponsors the organization’s activities for software process improvement.

The ability of the organization to perform transpires because:

·         Adequate resources and funding are provided for software process improvement activities.

·         Software managers receive required training in software process improvement.

·         The managers and technical staff of the software engineering gro


Monday, October 22, 2018

What do u mean by software process?


Software Process
A software process is a road map that helps you create a timely, high quality result.
It is the way we produce software
Provides stability and control
Work Product 
__ Programs, documents, and data produced as a consequence of the software engineering activities
Process Maturity

SEI – Software Engineering Institute
5 maturity levels
Capability Maturity Model (CMM)
CMM Muturity Levels
CMM Muturity Levels
Key Process Areas (KPAs)

Goals
Abilities
Commitments
Activities
Methods for monitoring implementation
Methods for verifying implementation
Level 2 KPAs

Software Configuration Management
Software Quality Assurance
Software subcontract Management
Software project tracking and oversight
Software project planning
Requirement management 
Level 3 KPAs
Peer reviews
Inter-group coordination
Software product Engineering
Integrated software management
Training program 
Organization process management 
Organization process focus    
Level 4 KPAs
Software quality management
Quantitative process management 
Level 5 KPAs
         •Process change management
Technology change management
Defect prevention
Software Life-cycle Models
The way you organize your activities
Life-cycle model is a series of steps through which the product progresses
 

Define well engineered software and characteristics of well-engineered software product?

Well-Engineered Software and characteristics of well-engineered software product

·Provides the required functionality
·Reliable
·User-friendly
·Cost-effective
·Efficient
·Maintainable
 
Breakdown of Effort Cost - Software Cost Estimation by Capers Jones  Breakdown of Effort Cost - Software Cost Estimation by Capers Jones

Effort Breakdown

Project Management                 8.08%
Requirements                          14.43%
Design                                    11.36%
Coding                                    13.50%
SQA                                        30.64%
SCM                                       13.02%
Integration                              6.54%
Misc.                                      ~3%

Software Engineering Practices

Software product realization
Software project management
Software process management
Software quality assurance
Software configuration management

Software Engineering Practices
Software Engineering Practices
Software Engineering Framework
Common Process Framework


What is Software Engineering and give the ieee definition of software engineering?

1 - The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

2 - The study of approaches as in 1.
Definition of  software engineering according to Sommerville : 
‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production.  -Sommerville

Another definition of software engineering :
A software engineer is challenged to produce high-quality software with finite amount of resources and to a predicted schedule and budget
software engineering law of diminishing returns

Law of diminishing returns
Software Engineering is not just about producing software, but about producing software in a COST-EFFECTIVE manner.
The Balancing Act!
 Potentially cconflicting requirements

·Cost vs. Efficiency

·Cost vs. Reliability

·Efficiency vs. User-interface

Software development loop
Software development loop