Nothing Special   »   [go: up one dir, main page]

Process: Asad Ur Rehman

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

Process

Asad Ur Rehman
Chief Technology Officer Feditec Enterprise

Process

Process is a sequence of predefined steps performed for a given purpose. The process integrate, people, tools and procedure.
Software Process can be defined as a set of activities, methods, practices, and transformations that people employ to develop and maintain software. As an organization matures, the software process becomes better defined and more consistently implemented throughout the organization.

FediteC

Process

Different projects require different software processes.


One process might be appropriate for creating software for F-16 aircraft, while developing a small web site would require a different process. The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.

FediteC

Software Engineering

Software Engineering process can be described using three generic phases: definition, development, and maintenance phase. Software engineering comprises a process, management techniques, technical methods, and the use of tools.

Software engineering is a layered technology. The foundation of software engineering is Process layer.

Tools Methods Process

FediteC

Software Engineering
Definition phase: focuses on what (information engineering, software project planning, requirements analysis). During definition software Engineer and customer tries to find out the what question:

- Information to be processed ?
- Function & Performance are desired ? - Interfaces are to be established ? - Design constraints exist ? - Validation criteria for successful project ?
FediteC

Software Engineering
Development phase: focuses on how (software design, code generation, software testing). Software developer attempts to define how: - Data structure are to be designed - Software architecture are to be designed - Procedural details are to be implemented - Design will be translated into programming language - Testing will be performed

FediteC

Software Engineering
Maintenance phase: focuses on change
Corrective: Even with the best software quality assurance activities, it is possible that the customer will uncover defects in the software. Using corrective maintenance techniques, changes are made in the software to correct defects. Adaptive: Over the time, the original environment for which software was developed is likely to change. Adaptive maintenance results in modifications to the software to accommodate changes to the environment. Enhancement (Perfective): After using the software user recognizes additional functions that can be performed or business requirement could change. Perfective maintenance extends the functionality beyond the original requirements.
FediteC

Software Engineering

Umbrella activities are independent of any framework activity and occur throughout the process. Following are those activities;
1- Project monitoring and control 2- Software quality assurance 3- Software configuration management

4- Measurement & Analysis

FediteC

Software Engineering Paradigm


To solve any problem in an industry, team of software engineers must incorporate a development strategy that includes the process, methods, and tools. This strategy is called process model or software engineering paradigm. 1- Waterfall Model 2- Prototyping Model 3- Spiral Model 4- Incremental Model
FediteC

Waterfall Model
Also called Classic life cycle or linear sequential model. The process begins at analysis and continues through the maintenance until product is retired.

Analysis Design Code Testing Maintenance

Each box represents a set of tasks that results in the production of each or more work products. Each new phase begins when the work products of the previous phase as completed, frozen and signed off.
FediteC

Prototyping Model
It is used when customer has a legitimate need, but is clueless about the details.
Refine design & prototype Requirement gathering & analysis

Quick Design

Build prototype

Developer is not sure about the algorithm, the adaptability of an Operating System etc.

Customer Evaluation Of prototype

Customer satisfied

Full scale development

FediteC

Prototyping Model
There are two variations of prototype approach. The prototype either built on the target environment or on a convenient platform. The approach diverges when the customer is satisfied. If prototype was built on the target platform, the prototyping progress naturally until it becomes complete product. If prototype was built on convenient platform, this prototype becomes specifications of the system. Full scale development is launched using some other (typically waterfall) approach.
FediteC

Spiral Model
Couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. Planning: Determines objectives, alternatives and constraints.

Risk Analysis: Analysis of alternatives as well as an identification and/or resolution of risks.


Engineering: Development of the next level of product

Customer evaluation: Assessment of the results of engineering

FediteC

Spiral Model
With each iteration around the spiral progressively more complete versions of the software are built. The spiral model enables the developer, and the customer, to understand and react to risk at each evolutionary level.
Planning Risk Analysis

Customer Evaluation

Engineering

Each loop around the spiral implies that project costs and schedules may be modified.
This creates problems in fixed-price project.
FediteC

Incremental Model
Delivers software in small but usable pieces, each piece builds on pieces already delivered. It is commonly applied as a technique to break a large programming effort into smaller, more manageable components. Each component is developed separately and integrated until all components are developed. Any life cycle can be used for the individual component development. Any life cycle model can be applied for the development of individual component. Incremental approach allows specialist to focus on one part of the life cycle to best leverage their expertise by repeatedly performing their tasks. It allows for early creation of components whose requirements are understood.
FediteC

Thanks

FediteC

You might also like