32
The Software Process Chapter – II

The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Embed Size (px)

Citation preview

Page 1: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

The Software Process

Chapter – II

Page 2: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Topics

• S/w Engg – A layered Technology• A Process Framework• Process Patterns• Process Assessment• Product and Process• Process Technology• CMMI (Capability Maturity Model

Integration)

Page 3: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

S/W Engg A Layered Technology

• The Layers of S/W Engg are-

Process

A Quality Focus

Methods

Tools

Page 4: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd….

• S/w Engg is a discipline that integrates process , methods and tools for the development of computer software. The bedrock that supports software engg is a quality focus. Any engg approach must rest on an organization commitment to quality. Total Quality Management , Six Sigma foster a continuous improvement culture.

Page 5: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

The Process Layer

• The foundation for S/w engg is the process layer.

• It is the glue that holds layers together and enables rational and timely development of computer s/w.

• The s/w process forms the basis for management control , establishes the context in which technical methods are applied work products are produced and milestones are established and quality is ensured and change is properly managed

Page 6: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Methods

• Method provide the technical “how to’s”

• It includes a broad array of tasks

• Communication

• Requirement analysis

• Design Modelling

• Program construction

• Testing and support

Page 7: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Tools

• They provide automated and semi automated support for the process and the methods.

• Tools can be integrated so that information provided by one tool can be used as input for the other

• And a system for the support of s/w development called computer aided s/w engg can be developed.

Page 8: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

A process framework

• What is it ?• When you work to build a system or product its

important to go through a series of predictable steps-a road map that helps you to create a timely high quality result.

• The roadmap that is followed is called a software process.

• “A process defines who is doing what , and how to reach a certain goal.”

Page 9: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Process Frameword

A process framework

Page 10: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

What are the Generic Process Framework Activities?

• Communication-Involves heavy communication and collaboration with the customer and also incl requirement analysis.

• Planning- This activity establishes a plan for the s/w engineering work that follows it incl technical task to be completed, risk that are likely to occur and the work product to be produced and the work schedule.

• Modeling-It allows creation of some models through which s/w engg can better understand the requirements and the design which will better achieve those requirements.

Page 11: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd…

• Construction – This activity combines code generation and the testing that is required to uncover the errors.

• Deployment-The s/w whether partial or complete is delivered to the customer who evaluates the delivered product and gives the necessary feedback based on the evaluation.

Page 12: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Umbrella Activities

• The generic process framework is complemented by a set of activities which are

• S/w Project Tracking and Control-(maintaining of S/w Schedules)

• Risk Mgt – assesses the risk that may effect outcome of the project or the quality of the product.

Page 13: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd…

• S/w Quality Assurance – Defines and conduct activities required to ensure s/w quality.

• Formal Technical Reviews-To uncover the errors and remove errors before the propogated to next activity.

• S/w Configuration Mgt-manages the effect of change throughout the s/w process.

Page 14: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd…

• Reusability Management-Define criteria for work product reuse.

• Work product preparation and production-Includes all other activities required to create work product such as models , documents , logs , forms and files.

Page 15: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Task Set

• The Task set defines the actual work to be done to accomplish the objectives of s/w engg action , for eg requirement analysis is an important engg action. The goal of requirement gathering is to understand what various customers want from that project.

• Taking an example

Page 16: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd…

• For a small and relatively simple project the task set might look like this-

a) Make a list of stakeholder for the project.

b) Invite all stakeholders for informal meeting.

c) Ask each stakeholder to make a list of features and functions required.

d) Discuss requirement and build a final list.

e) Prioritize reuirements

f) Note areas of uncertainity.

Page 17: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd…

• For a large project a different task set is required.

a) Make a list of stakeholder for the project.b) Interview each stakeholders separatelyc) Build a preliminary list of functions and

featuresd) Schedule a series of meetings.e) Conduct meetingsf) Produce informal user scenarios as a part of

meetingg) Build a new list of requirements.

Page 18: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd..

• Use quality factors deployment techniques to prioritize requirements.

• Note Constraints and requirements

• Discuss methods for validating the system.

Page 19: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Characteristics of software Process

• Predictability – A process determines how accurately the outcome of following process in the project can be predicted before the project is completed. Predictability can considered fundamental property of any process.for eg if 20 errors per 100 loc have been detected in a past for a process then it is expected that with a high probability this is a range of errors that will be detected during testing in future.Still it is possible that in some projects this may not happen.

Page 20: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Support Testability and Maintainability

• One of the important objectives of the development project should be to produce software that is to maintain.

• Effort Distribution with Phases

• Requirement – 10%

• Design – 20 %

• Coding – 20%

• Testing – 50 %

Page 21: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

How programmers spend their Time

• Writing programs - 13%

• Reading programs and manuals – 16%

• Job Communication – 32%

• Others – 39%

• The important observations from the data about effort distribution with phases is that testing consumes the most resources during development.

Page 22: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Contd..

• Underestimating the testing effort often causes the planners to allocate insufficient resources for testing , which in turn results in unreliable software

• Overall we can say that the goal of process should not be to reduce the effort of design and coding but to reduce the cost of testing and maintenance.

Page 23: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Early Defect Removal and Defect Prevention

• An example distribution of errors occurrences by phases is

• Requirement 20%• Design 30%• Coding 50%• As we can see that the errors occur throughout

the development process .The greater the delay in detecting an error after it occurs the more expensive it is to correct.

Page 24: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Process Improvement

• Having process improvement as a fundamental objective requires that the software process be a closed loop . That is the process must learn from various experiences and each project done using the existing process should feed information back into the process itself which can then use this information for self improvement.

Page 25: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Process Patterns

• A process pattern provides us with a template – a consistent method for describing an important characteristics of a software process.

• For example • This pattern describes an approach that

may be applicable when stakeholders have a general idea of what may be done but are unsure of specific requirements.

Page 26: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

• Pattern Name : Prototyping

• Intent – The objective of the pattern is to build a model of prototyping that can be accessed iteratively by stakeholders in an effort to identify and solidify software requirements.

• Type : Phase Pattern

• Initial Context – Specifies the conditions to be met before execution of process. For this eg

Page 27: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

1. All the stakeholders have been identified

2. A mode of communication between two has been established

3. An initial understanding of the project has been established.

• Problem – The next is the recognition of the problem and the problem must also be addressed with a software solution.

• Solution – A description of the process is provided here.

Page 28: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

• Resulting Context – where the software process is approved by the stakeholders

• Related Patterns – List of related patterns as customer-communication , customer assessment etc.

• Known uses / example – Prototyping is recommended where requirements are uncertain.

Page 29: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Process Assessment

• Assessment attempts to understand the software process with the intent of improving it.

• Reasons for assessment • To check so that it meets the customer

requirements.• To check so that it meets the basic

process characteristics • For process improvement

Page 30: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Assessment Standards

• The ISO has provided the following two standards for process assessment

• SPICE – it defines a set of requirements for software process assessment.

• ISO 9001 : 2000 – Is a generic standard that applies to any organization that wants to improve the overall quality of the products.

Page 31: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

Process Technology Tools

• These tools have been developed to help software organizations to analyze their current process , organize work tasks , control and monitor progress and manage technical quality.

• Tools:• Igrafx Process Tools – Distributed by corel

corporation is a set that enable a team to map , measure and model the software process

• Objexis Team portal – Developed by objexis corporation provides full process workflow definition and control.

Page 32: The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process

The capability Maturity Model Integration (CMMI)

• The CMMI is a model provided by SEI. It defines in over 700 pages the process characteristics that should exist if an organization wants to establish a software process which is complete.