Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developed by Reneta Barneva, SUNY Fredonia The Process.

Similar presentations


Presentation on theme: "Developed by Reneta Barneva, SUNY Fredonia The Process."— Presentation transcript:

1 Developed by Reneta Barneva, SUNY Fredonia The Process

2 Developed by Reneta Barneva, SUNY Fredonia Software Process Software process is a framework for the tasks that we are required to build high-quality software. The process is not exactly the same as software engineering: software process defines the approach that is taken as software is engineered. But software engineering also includes technologies - technical methods and automated methods.

3 Developed by Reneta Barneva, SUNY Fredonia Software Engineering (1) The application of systematic, disciplined approach to the development, operation and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1)

4 Developed by Reneta Barneva, SUNY Fredonia Process, Methods, and Tools Software Engineering is a leyered technology:

5 Developed by Reneta Barneva, SUNY Fredonia Process, Methods, and Tools Quality focus: any engineering rests on a commitment to quality: continuous process of improvement -> more mature approaches to software engineering.

6 Developed by Reneta Barneva, SUNY Fredonia Process, Methods, and Tools Process: the foundation of SE. Defines the framework for a set of key process areas that must be establish for effective delivery of SE technology. Key process areas include: technical methods work products (model, documents, data, reports, forms, etc.) milestones changes to be done.

7 Developed by Reneta Barneva, SUNY Fredonia Process, Methods, and Tools Methods: provide technical how-to’s. Include a broad array of tasks: requirements analysis design program construction testing support

8 Developed by Reneta Barneva, SUNY Fredonia Process, Methods, and Tools Tools: provide automated or semi-automated support for the process and the methods. When the tools are integrated, the system for support is called CASE.

9 Developed by Reneta Barneva, SUNY Fredonia Generic View of Software Engineering For each engineering process the following questions have to be answered: What is the problem to be solved? What characteristics of the entity are used to solve the problem? How will the entity be realized? How will the entity be constructed? How to find the errors? How will the entity be supported long time?

10 Developed by Reneta Barneva, SUNY Fredonia Generic View of Software Engineering Phases of software engineering: Definition phase: What? What definition to be processed? What function is desired What system behavior is expected? What interfaces are to be established? What design constraints exist? What validation criteria to apply?

11 Developed by Reneta Barneva, SUNY Fredonia Generic View of Software Engineering Development phase: How? How data are to be structured? How function is to be implemented? How interface to be generated? How the design to be translated into programming code? Three specific technical tasks: software design code generation software testing

12 Developed by Reneta Barneva, SUNY Fredonia Generic View of Software Engineering Support phase: Focused on change Types of change: correction - correcting the error detected adaptation - modifications due to change of the environment (OS, CPU, etc.) enhancement - user requires additional functions to be included prevention - software “wears out” due to changes; to prevent this “wear out”

13 Developed by Reneta Barneva, SUNY Fredonia Generic View of Software Engineering Support phase: Focused on change In addition to this support the user requires continuous support: in-house technical assistants telephone help desk application-specific web site

14 Developed by Reneta Barneva, SUNY Fredonia The Software Process Software process: A common process framework is established by defining a small number of framework activities that are applicable to all software projects A number of task sets enable the framework to be adapted to the characteristics of the software project. Umbrella activities such as quality assurance, software configuration management, and measurement overlay the framework activity and appear throughout the process.

15 Developed by Reneta Barneva, SUNY Fredonia The Software Process

16 Developed by Reneta Barneva, SUNY Fredonia Measurement of Project Maturity In 5 levels. Each level includes the previous ones. Level 1: Initial. The software process is characterized as ad hoc. Level 2: Repeatable. based on previous work on similar projects Level 3: Defined. The software process is documented, standardized, and distributed to the whole organization. Level 4. Managed. Detailed measures of software process and product quality are collected. Level. 5. Optimizing. Continuous process improvement is enabled.

17 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Fractal Model

18 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Fractal Model Status quo: represents the current state of affairs. Technical development: solves the problem through some technology Solution integration: delivers the results(programs, data, documentation)

19 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Linear Sequential Model

20 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Linear Sequential Model This is the classical model. However: real projects rarely follow the sequential flow it is usually difficult to state all the requirements explicitly the customer must be patient, because the working version of the project will be ready almost at the end of the project time-span.

21 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Iterative Models

22 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Evolutionary Models

23 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Evolutionary Models

24 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Evolutionary Models Customer communication: tasks required to establish effective communication between developer and customer. Planning: tasks required to define resources, timelines, and other project-related information. Risk analysis: task required to asses both technical and management risks Engineering: tasks required to build one or more representations of the application. Construction and release: tasks required to construct, test install, and provide user support.

25 Developed by Reneta Barneva, SUNY Fredonia Software Process Models: Evolutionary Models


Download ppt "Developed by Reneta Barneva, SUNY Fredonia The Process."

Similar presentations


Ads by Google