Week 3 – Modelling the Process and Life Cycle

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Lecture # 2 : Process Models
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
CS487 Software Engineering Omar Aldawud
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Alternate Software Development Methodologies
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
CS 501: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
CSI315 Web Technology and Applications
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Lecture 2 Software Processes CSC301-Winter 2011 Hesam C. Esfahani
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Management Lecture 1 The Software Process.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 SWE Introduction to Software Engineering Lecture 4.
An Introduction to Software Engineering
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
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 Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering 1A/1B/1C/1M School of Computer and Information Science, University of South Australia Week 1, Lecture 2, Page 1 Software Engineering.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Rekayasa Perangkat Lunak Part-6
Software engineering Software Processes.
Methodologies and Algorithms
Prototyping in the software process
Software Engineering Management
Software Prototyping.
Software Life Cycle “What happens in the ‘life’ of software”
CS 5150 Software Engineering
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Processes (a)
Software development life cycle models
Chapter 2 SW Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Life Cycle Models
Classical Waterfall Model
Software Processes.
Requirements and the Software Lifecycle
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapter 2 – Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes Process should be
Software Processes.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Presentation transcript:

Week 3 – Modelling the Process and Life Cycle Software Engineering Week 3 – Modelling the Process and Life Cycle A.A. Gde Bagus Ariana, S.T. gungariana@yahoo.com http://gungariana.wordpress.com

Content define s/w process, product and life-cycle describe various s/w dev. Models Waterfall Model “V” Model Prototyping Model Throw away Evolutionary RAD Model Incremental Model Iterative Model Spiral Model Hari ini kita akan membahasan beberapa hal-hal penting yang berkaitan dengan Pemodelan Proses dan Siklus Perekayasa PL. Menjelaskan ttg proses, produk dan siklus Menjelaskan beberapa model pembangunan PL Model Air Terjun Model “V” Model Prototipe Model RAD Model Spiral

ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES Understand Process Definition Process OUTPUT [ Results ] [ Product ] [ Set of Goals ] [ Standards ] INPUT [ Source ] [ Requirements ] ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES PROCEDURES TOOLS & TECHNIQUES Process Characteristics Prescribes all major process activities Uses resources Composed of sub processes Has entry & exit criteria Organised in sequence Has guiding principles Has constraints or controls Jelaskan definisi proses? FINAL OUTPUT [ Results ] [ Product ] [ Set of Goals ] [ Standards ]

Requirement Analysis and Definition Understand Process Example Requirement Analysis and Definition ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES INPUT [statements from user ] OUTPUT [set of requirements] PROCEDURES TOOLS & TECHNIQUES Constraint budget schedule task/tugas Constraints/ hambatan-hambatan Resources/ sumber daya Activities Interviews Observation

Waterfall Model

Operation & Maintenance Waterfall Model Evaluates costs & benefits of proposed application. Produce feasibility report Problem definition Alternative solutions & benefits Required resources & scheduling Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Linear sequential model , classic life cycle, system development life cycle (SDLC)

Operation & Maintenance Waterfall Model Evaluates costs & benefits of proposed application. Produce feasibility report Problem definition Alternative solutions & benefits Required resources & scheduling Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Linear sequential model , classic life cycle, system development life cycle (SDLC)

Operation & Maintenance Waterfall Model Identifies all aspects of requirements Functionality Quality Produce req specification document Functional req Non-functional req Quality controls Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Requirement Analysis Investigation Linear sequential model , classic life cycle, system development life cycle (SDLC)

Operation & Maintenance Waterfall Model Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Decomposing system into modules Produce design spec. and document S/W Architecture Its relationships Program Design System Design Linear sequential model , classic life cycle, system development life cycle (SDLC)

Operation & Maintenance Waterfall Model Evaluates costs & benefits of proposed application. Produce feasibility report Problem definition Alternative solutions & benefits Required resources & scheduling Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Linear sequential model , classic life cycle, system development life cycle (SDLC) Coding Module Testing Unit & Integration Test System Test Function Test Performance Test User Acceptance Test Installation Test

Operation & Maintenance Waterfall Model Evaluates costs & benefits of proposed application. Produce feasibility report Problem definition Alternative solutions & benefits Required resources & scheduling Identifies all aspects of requirements Functionality Quality Produce req specification document Functional req Non-functional req Quality controls Detailed Analysis Detailed Design Construction Testing Operation & Maintenance Feasibility Study System Delivery Status Quo & Problem Identification Requirement Analysis Investigation Program Design System Design Decomposing system into modules Produce design spec. and document S/W Architecture Its relationships Linear sequential model , classic life cycle, system development life cycle (SDLC) Coding Module Testing Unit & Integration Test System Test Function Test Performance Test User Acceptance Test Installation Test System / Information engineering [Roger. S. Pressman]

Waterfall : Advantages Detailed layout Suitable for user  not familiar with s/w development Explicitly state prior deliverables Focuses on documentation & artefacts Rinci dan detail Cocok untuk pengguna/user yang belum terbiasa dengan perancangan perangkat lunak Sangat fokus pada dokumentasi tiap-tiap proses

Waterfall : Disadvantages Rare adherence to sequence Iterations  confusion Natural uncertainty vs. model req. stage Does the system meet user expectations? Unclear paths nothing about back and forth activities End-product realisation  end No guidelines for mgmt./developers if changes occurs during the cycle Jarang sekali mematuhi urutan Proses iterasi menimbulkan kebingungan Ketidakpastian vs Proses Requirement Apakah sistem telah memenuhi harapan pengguna? Produk telah releasisasi = selesai Tidak ada pedoman untuk manajemen, jika perubahan terjadi selama siklus

“V” Model Requirements Analysis System Design Program Design Coding Acceptance test to VALIDATE Customers Requirements Requirements Analysis System Design Program Design Coding Operation & Maintenance Acceptance Testing System Testing Unit & Integration Testing V model merupakan variasi dari model waterfall dengan lebih terfokus pada pengecekan (verifikasi dan validasi) Unit & Integration test to VERIFY Program Design System test to VERIFY System Design

“V” Model Problems found during verification and validation then re-execute to fix and improve the requirements, design and code before the testing steps on the right are re-anacted. Waterfall model focus is on documents and artifacts but in V model focus is on activity and correctness. Masalah/problem yang ditemukan saat proses verifikasi dan validasi langsung diperbaiki dengan melakukan proses requirement, design dan coding sebelum proses testing diberlakukan kembali Waterfall model fokus pada dokumentasi kejadian sedangkan “V” Model fokus pada aktifitas dan perbaikan

Prototyping Model

Prototyping Model Partially developed product Customers & developers examination Examine some aspect of proposed system Suitability or Appropriateness Quick construction  all or part Understand or clarify issues Partially developed product Enables customers & developers to examine Aspect of the proposed system Decide if it is suitable or appropriate for the finished product Allows all or part of a system to be constructed quickly To understand or clarify issues

Prototype Requirements Prototyping Model One / more of the loops may be eliminated ? goals of the prototyping (reduce risk and uncertainty in development) May begin with nominal set of requirements Lists of Revisions Prototype System Prototype Design Test Lists of Revisions Delivered System Prototype Requirements Alternatives are explored Having interested parties look at possible screen, reports etc. Based on what they want, the requirements are revised System Requirements [sometimes informal or incomplete]

Prototype Requirements Prototyping Model Alternative design explored Decided design revised until satisfied Alternative design reveals problem in req activities Drop back to req activity Lists of Revisions Prototype System Prototype Design Test Lists of Revisions Delivered System Prototype Requirements Eventually, system is coded Alterations discussed # of iterations System Requirements [sometimes informal or incomplete]

Evolutionary Prototyping An approach to system development where an initial prototype is produced and refined through a number of stages to the final system. deliver a working system to end-users used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systems Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the system uses CASE , 4GL tools, GUI toolkits rapid development (using incremental model)

Throw-away Prototyping A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. To validate or derive the system requirements Not an actual system to be delivered to the user Throw-away = dibuang

Rapid App. Dev (RAD)

Rapid App. Dev. (RAD) Incremental - Short development cycle End users make evaluation on the increment and make proposals for later increments Short development cycle High speed adaptation Linear models (eg. Waterfall) Rapid development Uses component-based construction Short period 60 – 90 days

Application generation Rapid App. Dev. (RAD) Business modeling Data modeling Process modeling Application generation Testing & turnover Team # 1 Team # 2 Team # 3 Modelling business function information flow What info ?  business process What info is generated ? Who processes it ? Who generates it ? Where does info go to next ? Info flow refined into data objects to support business process Data object characteristics identified Relationship between each data object defined 60 – 90 days

Application generation Rapid App. Dev. (RAD) Data objects transformed to implement a business function Processing description created Add, Modify, Delete & Retrieve data objects Business modeling Data modeling Process modeling Application generation Testing & turnover Team # 1 Team # 2 Team # 3 Applies 4th Generation techniques (E.g. Code generators) Reusable components Automated tools Since emphasizes on reuse Many components have already been tested New components to be tested only 60 – 90 days

Incremental Model Requirements is partitioned into subsystems by functionality Use Case 1 Use Case 2 Use Case 1 Use Case 2 Use Case 3 Use Case 1

Iterative Model Delivers a full system at the beginning and then changes the functionality of each subsystem with each new release Use Case 1 Use Case 2 Use Case 3 (release 1) Use Case 1 Use Case 2 Use Case 3 (release 2) Use Case 1 Use Case 2 Use Case 3 (release 3)

RAD: Advantages Suitable for short projects Minimum testing difficulties Reusable components Quick development Automated tools Straight forward approach

RAD: Disadvantages Not suitable for large projects Multiple teams working on different sites Team utmost commitment  deadlines Not suitable for Systems  requires fine tuning System  new tech. interaction System  other sys. interaction

Spiral Model

Spiral Model Simplified form Waterfall model plus risk analysis preceding each phase If all risks cannot be resolved, the project is immediately terminated

Spiral Model View of spiral

Spiral Model PLAN DEVELOP AND TEST DETERMINE GOALS, ALTERNATIVES, CONSTRAINTS EVALUATE ALTERNATIVES AND RISKS start Requirements, life-cycle plan Budget1 Alternatives1 Constraints1 Risk analysis1 Risk analysis2 Risk analysis3 Risk analysis4 Constraints2 Constraints3 Constraints4 Budget2 Budget3 Budget4 Alternatives2 Alternatives3 Alternatives4 Prototype1 Proto- type2 type3 type4 Concept of operation Software requirements Validated Development plan Integration and test plan design Validated, verified design Detailed Code Unit test System test Acceptance Implementation

Spiral Model Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. Risks are explicitly assessed and resolved throughout the process.

Spiral Model Objective setting Risk assessment and reduction Specific objectives for the phase are identified. Risk assessment and reduction Risks are assessed and activities put in place to reduce the key risks. Development and validation A development model for the system is chosen which can be any of the generic models. Planning The project is reviewed and the next phase of the spiral is planned.

Summary define s/w process, product and life-cycle describe various s/w dev. Models Waterfall Model “V” Model Prototyping Model Throw away Evolutionary RAD Model Incremental Model Iterative Model Spiral Model

Question?