SlideShare a Scribd company logo
1 of 3
Download to read offline
Capability Maturity Model Integration
(CMMI) model for Development (DEV)
CMMI-DEV Model v.1.3
Capability Maturity Model Integration is
introduced by Software Engineering Institute
(SEI), Carnegie Mellon University, majorly
funded by the United States (US) Department
of Defense. The model integrates elements of
effective processes and is based on the principle
that the quality of a product is highly influenced
by the quality of the processes used to develop
and maintain it. Some of the practices of the
model were extracted from statistical quality
control methods for process improvement,
initially applied to software process at IBM and
SEI, and used as bases for the ‘1.3’ version of
the model. The model describes an improvement
from ad hoc, immature processes, to disciplined,
mature processes with improved quality of
results and effectiveness of the process itself.
Today, CMMI-DEV is used in many industries,
including computer software, aerospace, banking, government defense agencies, automobile and
other manufacturing, telecommunications, etc. CMMI-DEV regards the software as a product of
engineering and support processes and practices. It requires that the practitioners change the point
of view of the software from project to product. Processes refer to tasks in sequence, or in parallel,
conducted by managers, engineers, analysts, architects and end users that cover the product’s
lifecycle from conception of it, to final delivery and maintenance into the working environment. The
processes for software engineering are grouped into Requirement Development, Technical Solution,
Product Integration, Validation, and Verification. For the very importance that the Technical Solution
process area carries in the engineering process, this article will focus on the “software design”, as
an integral part of technical solution.
Develop the Design Software design process
results in concrete elements that directly satisfy
requirements, or supports achievement of
requirements. According to the CMMI model, the
goal of the process is (i) design of the software and
(ii) design of software components. It may consist
of two phases, which often are not distinguished:
(i) development of software general design and (ii) development of detailed design of components
or modules. At the end, the software designs are used not only for development, but also for other
phases such as procurement, maintenance and installation. Moreover, the design documentation is
used for validation of requirements analysis from stakeholders. The first practice consists of general
design of: – definition of software capabilities, – technical architecture of software, – components
/module identification, – state diagrams, – external systems interfaces, – intercomponents/
module interfaces. Whereas the components design consists of: – module/component functional
architecture, – process models for each component and cross components processes, – data
models, – algorithms to fulfill the allocated requirements to the software component. CMMI-DEV
has identified several sub practices that can improve design process:
1. Establishment of criteria to evaluate the design such as quality attributes of design:
Complete, Clearly Defined, Modular, Accurate, etc.
2. Identification and use of a design method
Method of design of software usually consists of a tool to enable design. Some examples are:
-software prototype -object oriented design -entity relationship model -design reuse
3. Optimization of design to satisfy quality attributes
4. Ensure that design complies to allocated requirements
As the design matures and optimizes, the requirements assigned to components are tracked in
order to be sure that those requirements are satisfied from the designed elements.
5. Gathering of elements of design into a technical data package that provides to the developer a
technical description of the software and software components.
It may contain schemas and diagrams, specifications and standards, data model, description of
design and quality attribute requirements. The package is maintained through the lifecycle of the
software. Another practice is the design of the component interfaces specifications as follows:
1.	 Define the interface quality criteria
2.	 Identify interfaces associated with other software components
3.	 Identify interfaces associated with external items/software
4.	 Apply the criteria to the interface design alternatives
5.	 Document the selected interface design
The interfaces designs are added to the technical data package. Prior to development process,
a general practice suggested by CMMI-DEV model is to perform an analysis of Make, Buy or
Reuse of software components. This analysis of make-or-buy is completed with the decision to
develop, acquire or reuse the components which are included into the technical data package.
Design Process in the engineering of our software products For the engineering of our software
products, at Communication Progress, we initiate the general design of software system from
Requirement Development process and frequently overlap the two processes in order to elicit
unidentified requirements and to validate defined requirements. Design elements we initially
produce are:
•	 Software system capabilities list
•	 External interfaces list
•	 General Business Process flows
•	 Definition of algorithms for specific computation relevant to the working operation the software
is going to be integrated.
Further, we develop detailed design elements of the software, after a clear and complete definition
of requirements. These elements are used to start the Software Development process and to
identify further details of the system processes. The process produces:
•	 Functional architecture of software
•	 Module components list
•	 Business Process flows of Level 2
•	 System Process Flows
•	 Data Dictionary for data models
•	 Component interface wireframe.
Other practices at use include:
•	 Design method: object oriented design, ERD design and prototype design
•	 Requirements Mapping Matrix: to ensure that designs comply to allocated requirements
•	 Technical data package: to define a format for the package.
Reference: CMMI for Development Version 1.3, SEI Technical Report, November 2010 Product-
Focused Software Process Improvement, 9th International Conference, June 2008Defining the
software process and Managing the software process, W.S. Humphrey, 1990

More Related Content

What's hot

Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introductionBadar Waseer
 
Notes on software engineering
Notes on software engineeringNotes on software engineering
Notes on software engineeringErtan Deniz
 
Software design presentation
Software design presentationSoftware design presentation
Software design presentationbit allahabad
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4Abhimanyu Mishra
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineeringRupesh Vaishnav
 
Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systemsvadapav123
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringSelf-employed
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutionsgavhays
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Composition of cots
Composition of cotsComposition of cots
Composition of cotsSaransh Garg
 

What's hot (20)

Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introduction
 
Notes on software engineering
Notes on software engineeringNotes on software engineering
Notes on software engineering
 
Software design presentation
Software design presentationSoftware design presentation
Software design presentation
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Software_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDFSoftware_Build__Release___UAT_Phases (1).PDF
Software_Build__Release___UAT_Phases (1).PDF
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Ia rm001 -en-p
Ia rm001 -en-pIa rm001 -en-p
Ia rm001 -en-p
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Ch7
Ch7Ch7
Ch7
 
Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systems
 
Unit2 2
Unit2 2Unit2 2
Unit2 2
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutions
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Composition of cots
Composition of cotsComposition of cots
Composition of cots
 

Similar to Work of art practices in software development.

Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.pptMSahibKhan
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1SIMONTHOMAS S
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfVijayakumarKadumbadi
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manualVivek Kumar Sinha
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdfbcanawakadalcollege
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineeringMuhammadTalha436
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNANDINI SHARMA
 

Similar to Work of art practices in software development. (20)

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
 
Session3
Session3Session3
Session3
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
 
Unit i software design principles 9
Unit i software design principles 9Unit i software design principles 9
Unit i software design principles 9
 

More from Communication Progress

More from Communication Progress (12)

NVMe SSD PCIe Family M.2
NVMe SSD PCIe Family M.2NVMe SSD PCIe Family M.2
NVMe SSD PCIe Family M.2
 
Impro për mikrofinancë
Impro për mikrofinancëImpro për mikrofinancë
Impro për mikrofinancë
 
Share point
Share pointShare point
Share point
 
Impro për Financë-Kontabilitet
Impro për Financë-KontabilitetImpro për Financë-Kontabilitet
Impro për Financë-Kontabilitet
 
Impro quick id
Impro quick idImpro quick id
Impro quick id
 
IMPRO per Transport
IMPRO per TransportIMPRO per Transport
IMPRO per Transport
 
Rreth Communication Progress, 2016
Rreth Communication Progress, 2016Rreth Communication Progress, 2016
Rreth Communication Progress, 2016
 
IMPRO Institucione Financiare (IF)
IMPRO Institucione Financiare (IF)IMPRO Institucione Financiare (IF)
IMPRO Institucione Financiare (IF)
 
1U 4 GPU White Paper nga Supermicro
1U 4 GPU White Paper nga Supermicro1U 4 GPU White Paper nga Supermicro
1U 4 GPU White Paper nga Supermicro
 
Nvidia tesla-k80-overview
Nvidia tesla-k80-overviewNvidia tesla-k80-overview
Nvidia tesla-k80-overview
 
Software Development Outsourcing Profile -Communication Progress Ltd (1998)
Software Development Outsourcing Profile -Communication Progress Ltd (1998)Software Development Outsourcing Profile -Communication Progress Ltd (1998)
Software Development Outsourcing Profile -Communication Progress Ltd (1998)
 
Communication progress ltd Startup Grind Tirana Albania
Communication progress ltd Startup Grind Tirana AlbaniaCommunication progress ltd Startup Grind Tirana Albania
Communication progress ltd Startup Grind Tirana Albania
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Work of art practices in software development.

  • 1. Capability Maturity Model Integration (CMMI) model for Development (DEV) CMMI-DEV Model v.1.3 Capability Maturity Model Integration is introduced by Software Engineering Institute (SEI), Carnegie Mellon University, majorly funded by the United States (US) Department of Defense. The model integrates elements of effective processes and is based on the principle that the quality of a product is highly influenced by the quality of the processes used to develop and maintain it. Some of the practices of the model were extracted from statistical quality control methods for process improvement, initially applied to software process at IBM and SEI, and used as bases for the ‘1.3’ version of the model. The model describes an improvement from ad hoc, immature processes, to disciplined, mature processes with improved quality of results and effectiveness of the process itself. Today, CMMI-DEV is used in many industries, including computer software, aerospace, banking, government defense agencies, automobile and other manufacturing, telecommunications, etc. CMMI-DEV regards the software as a product of engineering and support processes and practices. It requires that the practitioners change the point of view of the software from project to product. Processes refer to tasks in sequence, or in parallel, conducted by managers, engineers, analysts, architects and end users that cover the product’s lifecycle from conception of it, to final delivery and maintenance into the working environment. The processes for software engineering are grouped into Requirement Development, Technical Solution, Product Integration, Validation, and Verification. For the very importance that the Technical Solution process area carries in the engineering process, this article will focus on the “software design”, as an integral part of technical solution. Develop the Design Software design process results in concrete elements that directly satisfy requirements, or supports achievement of requirements. According to the CMMI model, the goal of the process is (i) design of the software and (ii) design of software components. It may consist of two phases, which often are not distinguished: (i) development of software general design and (ii) development of detailed design of components or modules. At the end, the software designs are used not only for development, but also for other phases such as procurement, maintenance and installation. Moreover, the design documentation is used for validation of requirements analysis from stakeholders. The first practice consists of general
  • 2. design of: – definition of software capabilities, – technical architecture of software, – components /module identification, – state diagrams, – external systems interfaces, – intercomponents/ module interfaces. Whereas the components design consists of: – module/component functional architecture, – process models for each component and cross components processes, – data models, – algorithms to fulfill the allocated requirements to the software component. CMMI-DEV has identified several sub practices that can improve design process: 1. Establishment of criteria to evaluate the design such as quality attributes of design: Complete, Clearly Defined, Modular, Accurate, etc. 2. Identification and use of a design method Method of design of software usually consists of a tool to enable design. Some examples are: -software prototype -object oriented design -entity relationship model -design reuse 3. Optimization of design to satisfy quality attributes 4. Ensure that design complies to allocated requirements As the design matures and optimizes, the requirements assigned to components are tracked in order to be sure that those requirements are satisfied from the designed elements. 5. Gathering of elements of design into a technical data package that provides to the developer a technical description of the software and software components. It may contain schemas and diagrams, specifications and standards, data model, description of design and quality attribute requirements. The package is maintained through the lifecycle of the software. Another practice is the design of the component interfaces specifications as follows: 1. Define the interface quality criteria 2. Identify interfaces associated with other software components 3. Identify interfaces associated with external items/software 4. Apply the criteria to the interface design alternatives 5. Document the selected interface design The interfaces designs are added to the technical data package. Prior to development process, a general practice suggested by CMMI-DEV model is to perform an analysis of Make, Buy or Reuse of software components. This analysis of make-or-buy is completed with the decision to develop, acquire or reuse the components which are included into the technical data package. Design Process in the engineering of our software products For the engineering of our software products, at Communication Progress, we initiate the general design of software system from Requirement Development process and frequently overlap the two processes in order to elicit unidentified requirements and to validate defined requirements. Design elements we initially produce are: • Software system capabilities list • External interfaces list • General Business Process flows • Definition of algorithms for specific computation relevant to the working operation the software is going to be integrated. Further, we develop detailed design elements of the software, after a clear and complete definition of requirements. These elements are used to start the Software Development process and to identify further details of the system processes. The process produces:
  • 3. • Functional architecture of software • Module components list • Business Process flows of Level 2 • System Process Flows • Data Dictionary for data models • Component interface wireframe. Other practices at use include: • Design method: object oriented design, ERD design and prototype design • Requirements Mapping Matrix: to ensure that designs comply to allocated requirements • Technical data package: to define a format for the package. Reference: CMMI for Development Version 1.3, SEI Technical Report, November 2010 Product- Focused Software Process Improvement, 9th International Conference, June 2008Defining the software process and Managing the software process, W.S. Humphrey, 1990