Developed by Reneta Barneva, SUNY Fredonia The Process.

Slides:



Advertisements
Similar presentations
Departemen Ilmu Komputer IPB
Advertisements

Prescriptive Process models
Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
CS487 Software Engineering Omar Aldawud
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CS3773 Software Engineering Lecture 01 Introduction.
Software Process Models
Chapter 2 The Software Process
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
The Waterfall Model A Case Study
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Effective Methods for Software and Systems Integration
Chapter : Software Process
Process: A Generic View
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 2 Software Process: A Generic View
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
Software Process and Models
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
Chapter 2 Process: A Generic View
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Lecture 3 Software Engineering Models (Cont.)
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Software Engineering MCS-2 Lecture # 6
Software Engineering - I
Introduction to Software Engineering.  Software Characteristics  Components  Applications  Layered Technologies  Processes  Methods And Tools 
Developed by Reneta Barneva, SUNY Fredonia The Process.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Engineering Introduction (The Process). Objectives lTo define software engineering lTo introduce a range of software engineering process models.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Engineering Introduction.
Software Engineering INTRODUCTION TO SOFTWARE DEVELOPMENT.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering CE 501 Prepared by : Ashwin Raiyani.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Process By Sabeen Amjad Chapter-2. Objectives To comprehend  Software process  Software Engineering as layered technology  Generic view of.
Software Engineering Process Lecture -2:. –Software development life cycle –overview of software development process models.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Software Life Cycle “What happens in the ‘life’ of software”
Software Engineering (CSI 321)
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Engineering Lecture #2
Software Engineering I
Presentation transcript:

Developed by Reneta Barneva, SUNY Fredonia The Process

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.

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)

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

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.

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.

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

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.

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?

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?

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

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”

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

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.

Developed by Reneta Barneva, SUNY Fredonia The Software Process

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.

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

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)

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

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.

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

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

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

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.

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