0% found this document useful (0 votes)
31 views18 pages

Session 1.2 Intro, CMMI

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views18 pages

Session 1.2 Intro, CMMI

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Software Engineering

• Program is an executable code, which serves some computational


purpose.
• Software is considered to be collection of executable programming
code, associated libraries and documentations.
• Software, when made for a specific requirement is called software
product.
• Engineering on the other hand, is all about developing products, using
well-defined, scientific principles and methods.
• Software engineering is an engineering branch associated with
development of software product using well-defined scientific
principles, methods and procedures.
• The outcome of software engineering is an efficient and reliable
software product.
Definitions

IEEE defines software engineering as:


(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) Fritz Bauer, a German computer scientist, defines software


engineering as:
“Software engineering is the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and work efficiently on real machines.”
History of Software Engineering
• 1945-1965: Origin ( build and deliver, no proper approach)
• 1965-1985: Software Crisis
• Many software projects ran over budget and schedule.
• OS/360: -Fred Brooks claims in 'Mythical Man Month' that he made a multi-
million dollar mistake by not developing a coherent architecture before starting
development.
• No Silver Bullets (Tools, discipline, formal methods, process, and professionalism
were touted as silver bullets)
• 1990-2000: Internet
• Windows , Web browsers
• 2000-2010: Light weight software
• Software for mobile
• 2010-till date: AI, ML, DL, etc.
Software Engineering - A Layered Technology

Software engineering is a fully layered technology, to develop software


we need to go from one layer to another. All the layers are connected
and each layer demands the fulfillment of the previous layer.
1. A quality focus: It defines the continuous process improvement
principles of software. It provides integrity that means providing
security to the software so that data can be accessed by only an
authorized person, no outsider can access the data. It also focuses on
maintainability and usability.
2. Process: Process defines a framework that must be established for
the effective delivery of software engineering technology. The software
process covers all the activities, actions, and tasks required to be
carried out for software development.
3. Method: During the process of software development the answers to
all “how-to-do” questions are given by method. It has the information
of all the tasks which includes communication, requirement analysis,
design modeling, program construction, testing, and support.

4. Tools: Software engineering tools provide a self-operating system for


processes and methods. Tools are integrated which means information
created by one tool can be used by another.
Software Process Framework
• The process of framework defines
a small set of activities that are
applicable to all types of projects.
• The software process framework is
a collection of task sets.
• Task sets consist of a collection of
small work tasks, project
milestones, work productivity and
software quality assurance points.
Process Framework Activities:
• Communication: By communication, customer requirement gathering
is done. Communication with consumers and stakeholders to
determine the system’s objectives and the software’s requirements.
• Planning: Establish engineering work plan, describes technical risk,
lists resources requirements, work produced and defines work
schedule.
• Modeling: Architectural models and design to better understand the
problem and for work towards the best solution. The software model
is prepared by:
o Analysis of requirements
o Design
• Construction: Creating code, testing the system, fixing bugs, and
confirming that all criteria are met. The software design is mapped
into a code by:
o Code generation
o Testing
• Deployment: In this activity, a complete or non-complete product or
software is represented to the customers to evaluate and give
feedback. On the basis of their feedback, we modify the product for
the supply of better products.
Umbrella activities:
• Umbrella Activities are that take place during a software
development process for improved project management and
tracking.
• Software project tracking and control: This is an activity in which the
team can assess progress and take corrective action to maintain the
schedule. Take action to keep the project on time by comparing the
project’s progress against the plan.
• Risk management: The risks that may affect project outcomes or
quality can be analyzed. Analyze potential risks that may have an
impact on the software product’s quality and outcome.
• Software quality assurance: These are activities required to maintain
software quality. Perform actions to ensure the product’s quality.
• Formal technical reviews: It is required to assess engineering work
products to uncover and remove errors before they propagate to the
next activity. At each level of the process, errors are evaluated and fixed.
• Software configuration management: Managing configuration process
when any change in the software occurs.
• Work product preparation and production: The activities to create
models, documents, logs, forms, and lists are carried out.
• Reusability management: It defines criteria for work product reuse.
Reusable work items should be backed up, and reusable software
components should be achieved.
• Measurement: In this activity, the process can be defined and collected.
Also, project and product measures are used to assist the software team
in delivering the required software.
Capability Maturity Model Integration (CMMI)

• CMMI, or Capability Maturity Model Integration, is a framework that


helps organizations improve their processes and performance.
• Developed by the Software Engineering Institute (SEI) at Carnegie
Mellon University.
• CMMI is used by companies around the world to improve the quality
of their products and services.
• It is a process model that describes specific goals, practices and
capabilities that should be present in a matured software project.
• The purpose of the CMMI model is to assess the maturity of an
organization's processes and to provide guidance on improving
processes, with a goal of improved products.
Objectives of CMMI :

• Fulfilling customer needs and expectations.


• Value creation for investors/stockholders.
• Market growth is increased.
• Improved quality of products and services.
• Enhanced reputation in Industry.
CMMI Model – Maturity Levels :
• Maturity level 1 : Initial
• processes are poorly managed or controlled.
• unpredictable outcomes of processes involved.
• ad hoc and chaotic approach used.
• No KPAs (Key Process Areas) defined.
• Lowest quality and highest risk.
• Maturity level 2 : Managed
• requirements are managed.
• processes are planned and controlled.
• projects are managed and implemented according to their documented
plans.
• This risk involved is lower than Initial level, but still exists.
• Quality is better than Initial level.
• Maturity level 3 : Defined
• processes are well characterized and described using standards, proper procedures,
and methods, tools, etc.
• Medium quality and medium risk involved.
• Focus is process standardization.
• Maturity level 4 : Quantitatively managed
• quantitative objectives for process performance and quality are set.
• quantitative objectives are based on customer requirements, organization needs, etc.
• process performance measures are analyzed quantitatively.
• higher quality of processes is achieved.
• lower risk
• Maturity level 5 : Optimizing
• continuous improvement in processes and their performance.
• improvement has to be both incremental and innovative.
• highest quality of processes.
• lowest risk in processes and their performance.
CMMI Model – Capability Levels

• A capability level includes relevant specific and generic practices for a specific
process area that can improve the organization’s processes associated with
that process area.
• Capability level 0 : Incomplete
• Incomplete process – partially or not performed.
• One or more specific goals of process area are not met.
• No generic goals are specified for this level.
• This capability level is same as maturity level 1.
• Capability level 1 : Performed
• Process performance may not be stable.
• Objectives of quality, cost and schedule may not be met.
• A capability level 1 process is expected to perform all specific and generic
practices for this level.
• Only a start-step for process improvement.
• Capability level 2 : Managed
• process is planned, monitored and controlled.
• managing the process by ensuring that objectives are achieved.
• objectives are both model and other including cost, quality,
schedule.
• actively managing processing with the help of metrics.
• Capability level 3 : Defined
• a defined process is managed and meets the organization’s set of
guidelines and standards.
• focus is process standardization.
• Capability level 4 : Quantitatively Managed
• process is controlled using statistical and quantitative techniques.
• process performance and quality is understood in statistical terms
and metrics.
• quantitative objectives for process quality and performance are
established.
• Capability level 5 : Optimizing
• focuses on continually improving process performance.
• performance is improved in both ways – incremental and
innovation.
• emphasizes on studying the performance results across the
organization to ensure that common causes or issues are identified
and fixed.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy