Presentation is loading. Please wait.

Presentation is loading. Please wait.

Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.

Similar presentations


Presentation on theme: "Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise."— Presentation transcript:

1 Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 Prototyping Model It is used when customer has a legitimate need, but is clueless about the details. Requirement gathering & analysis Refine design & prototype Quick Design Build prototype Customer Evaluation Of prototype Developer is not sure about the algorithm, the adaptability of an Operating System etc. Customer satisfied Full scale development FediteC

12 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

13 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

14 Spiral Model Customer Evaluation Planning Risk Analysis Engineering 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. Each loop around the spiral implies that project costs and schedules may be modified. This creates problems in fixed-price project. FediteC

15 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

16 Thanks FediteC


Download ppt "Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise."

Similar presentations


Ads by Google