Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
|
|
|
- Eugene Dickerson
- 9 years ago
- Views:
Transcription
1 Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda
2 Overview Phases during Software Development Different Software Development Processes Waterfall Spiral Model Rational Unified Process Rapid Software Development Agile Software Development and Extreme Programming (XP) Impacts on Requirements Engineering Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 2
3 Overview Phases during Software Development Different Software Development Processes Waterfall Spiral Model Rational Unified Process Rapid Software Development Agile Software Development and Extreme Programming (XP) Impacts on Requirements Engineering Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 3
4 Software Lifecycle Activities and their models Requirements Elicitation Analysis System Design Object Design Implementation Testing Expressed in Terms of Structured by Realized by Implemented by Verified by class... class... class...? Use Case Model Application Domain Objects Subsystems Solution Domain Objects Source Code class...? Test Cases Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 4
5 Software Process A structured set of activities required to develop a software system (Still) Rely on people making decisions and judgements Automate software processes ( CASE tools) have limited success Many processes are proposed. Fundamental activities are: Specification Design and Implementation Validation Evolution Processes can be improved by process standardization Improved communication between stakeholders Reduction in training time Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 5
6 Software Lifecycle Activities III No ideal process Structured plan-based development process Fixed requirements, many project members Critical systems Agile development process Rapidly changing requirements Business systems Other factors for selecting a process Kind of Software System to be developed completely new vs. re-engineering of existing off-the-shelf vs. customized Team size, project size, project time Team members Experiences, Incentives, Attitudes Budget Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 6
7 Software Lifecycle Activities VII: Different kinds of Development Greenfield Engineering Development starts from scratch, no prior system exists, the requirements are extracted from the end users and the client Triggered by user needs Example: Develop a game from scratch: German Toll System (2003) Re-Engineering Re-design and/or re-implementation of an existing system using newer technology Triggered by technology enabler Example: New Operating System like Windows Vista Interface Engineering Provide the services of an existing system in a new environment Triggered by technology enabler or new market needs Example: SMS-based games, information systems (beginning of 2000) Lead to different software development processes Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 7
8 Overview Phases during Software Development Different Software Development Processes Waterfall Spiral Model Rational Unified Process Rapid Software Development Agile Software Development and Extreme Programming (XP) Impacts on Requirements Engineering Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 8
9 Waterfall Model (Royce, 1970) Requirements Development System and Software Design Implementation Integration, Evaluation, Testing Activity-centered process that prescribes the sequential executions of life cycle activities (Result: documents) All requirements are completed before the system design activity starts The following phase should not start before the previous one has finished The final product is eventually produced (no intermediary results) Goal: Never turn back once an activity is completed Refinement of first model: only few iterations are allowed costly Existing problems are left for later resolution, programmed around Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 9 Operation, Maintenance, Evolution
10 Waterfall Model II Requirements Development System and Software Design Implementation Integration, Evaluation, Testing Requirements Activities Problem Understanding Defining the problem (what is required) Representing the problem (formally stating the problem def.) Decomposing the problem Defining the constraints of the problem (what can t be done) Design Activities Transform the problem statement into a solution statement Decompose problem and reconstruct it as a solution Determine the transformation was correct Decompose the solution into implementable pieces Implementation Activities Physically construct software Detailed design of code Write code Test Activities Determine correctness of software Determine if software meets its intended function Operation, Maintenance, Evolution OME Activities Activities Put software into use Detect program and design errors Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 10
11 Waterfall Model III Advantages: Fits with other engineering processes Documentation is produced at each phase Simplistic view of software development (good for beginners ) Problems: Inflexible partitioning of the project into distinct self-contained stages No flexible iteration are intended, every phase is worked out once The delivery of the overall product may retarded Process model is only appropriate when the requirements are wellunderstood Requirements have to be fixed very early before design begins Problems in designing software for social domains missing iteration hinders user involvement missing flexibility does not allow reacting on changes in requirements Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 11
12 Spiral Model I (Boehm 1988) Activity-centered process model as an answer to Waterfall model Accommodate frequent changes during software development Based on the same activities as the Waterfall model. Adds several (sub-) activities (cycles) Objective setting Risk assessment and reduction Development and validation Planning for next phases Main Issues Process is arranged as a spiral Each loop represents a phase of the software process (e.g. concept of operation, requirements, design, code, unit tests) Risks are explicitly assessed and resolved throughout the process Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 12
13 Spiral Model II Determine objectives, alternatives, constraints Evaluate alternatives, identify and resolve risks Plan next phases Develop & verify next level product Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 13
14 Spiral Model IV To be more detailed each loop includes minimally the following steps: Determine product, process objectives Specify constraints e.g. functionality, performance Evaluate alternative product, process solutions e.g. design alternatives, buy components Determine project risks Resolve risk: (e.g. prototyping, simulation or bench marking) Develop and verify next-level product Plan next phase Final review at each crossing of the X-axis a review has to be made. ensure that everybody in the project (users, developers, customers) are committed to the developed products and the planning for the next cycle Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 14
15 Strengths Generic approach which can incorporate other software process models as special cases Avoids the difficulties of existing software models through riskdriven approach Tries to eliminate errors in early phases Explicit coverage of risk evaluation and minimization Provides mechanisms for software quality assurance Works good for complex, dynamic, innovative project Reevaluation after each phase allows changes in user perceptives, technology advances or financial perspectives Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 15
16 Weaknesses The Spiral Model isn't really a "cookbook approach. Management has to decide how to structure the project into phases. Flexibility of this model is high and sometimes more as it is convenient Lack of explicit process guidance in determining objectives, constraints, alternatives Risk assessment expertise a lot of experience in software projects is necessary to accomplish that task successfully Problems in Social domains Process focuses on the product, not its context. No concepts for introducing systems User-designer communication in social domains (e.g. interactive systems)? Scenario-Based Design?! Use Cases?! Participation with real users?! Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 16
17 Human-Centered Design Process (ISO 13407) Design of Interactive Systems ISO provides guidance on achieving quality in use by incorporating user-centered design activities throughout the development life cycle of interactive computer-based systems. Description of user-centered design as a multi-disciplinary activity: Incorporates human factors Ergonomics knowledge Improving human working conditions There are four user-centered design activities that need to start at the earliest stages of a project: understand and specify the context of use specify the user and organizational requirements produce design solutions evaluate designs against requirements. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 17
18 Human-Centered Design Process (ISO 13407) Design of Interactive Systems Meet requirements Plan the human centered process (determine exigency) analyze Context of use (user characteristics, task, environment) interpret Result of evaluation User and organizational requirements evaluate Design solutions (Prototype, Simulations) develop Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 18
19 Human-Centered Design Process Extensions: ISO TR The Usability Maturity Model in ISO TR consists of seven sets of base practices to describe what has to be done in order to represent and include the users of a system during the lifecycle. Essential practice (no.7): Introduce and operate the system: 7.1 Management of change 7.2 Determine impact on organization and stakeholders 7.3 Customization and local design 7.4 Deliver user training 7.5 Support users in planned activities 7.6 Ensure conformance to workplace ergonomic legislation Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 19
20 Rational Unified Process Overview I Life Cycle model proposed by Booch, Jacobson, and Rumbaugh ( The three Amigos ) derived from the work on UML Rational Unified Process (RUP) uses Unified Modelling Language (UML) as core notation Described from 3 perspectives A dynamic perspective that shows phases over time; A static perspective that shows process activities; A practice perspective that suggests good practice. Unified Process is distinguished by being Use-case driven Architecture-centric Iterative and incremental Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 20
21 Rational Unified Process Overview II RUP proposes a phase model that identifies four discrete phases in the software process Inception Establish the business case for the system Decide to cancel or continue the project Elaboration Develop an understanding of the problem domain and the system architecture. Construction System design, programming and testing. Transition Deploy the system in its operating environment. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 21
22 Iterative Phase Model Each phase may be enacted in an iterative way with the results developed as increments The whole set of phases may also be enacted incrementally Whole set = cycle (later on..) An iteration represents a set of activities for which there is a milestone ( well-defined intermediate event ) The scope and results of the iteration are captured via discrete work products called artefacts. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 22
23 Artifacts sets To make the development of complex systems manageable, the Unified Process organizes work products produced during the development into artifacts sets. Artifact set: Related work products ( artifacts ) that are persistent and in a uniform representation format (natural language, Java, UML, ). Every artifact in the set is developed and reviewed as a single entity. The Unified Process distinguishes the following five sets Management set Requirements set Design set Implementation set Deployment set Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 23
24 Artifact sets Each artifact set has a different intention and uses different notations to capture the relevant artifacts. Management Set: Notation: Ad hoc text, graphics, textual use cases Goal: Capture plans, processes, objectives, acceptance criteria. Requirements set: Notation: Structured text, models in UML (Use Case, Class, Sequence) Goal: Capture the problem in the language of the problem domain Design set: Notation: Structured text, models in UML Goal: Capture the engineering blueprints Implementation set: Notation: Programming language Goal: Capture the building blocks of the solution domain in human-readable format. Deployment set: Form: Machine language Goal: Capture the solution in machine-readable format. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 24
25 Effective Deployment of 6 best practices Develop software iteratively Plan increments of the system based on customer priorities and develop the highest priority system features early in the process Manage requirements Document customers requirements and keep track to changes Analyse the impact of changes on the system before accepting these Use component-based architectures Structure the system architecture into components reuse Visually model software Use graphical UML models to present static and dynamic views of the system Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 25
26 Effective Deployment of 6 best practices Verify software quality Ensure that the software meets requirements Control changes to software Manage changes to the software using a change management system and configuration management procedures and tools Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 26
27 Unified Process: Use Case Driven An use case represents a class of functionality provided by the system as a sequence of interaction with some actors. A piece of functionality that gives a user a result of value Use Case driven = Use cases are used as the primary artifacts for deriving the architectural abstractions use cases are specified, designed and are the source for test cases they drive system architecture both mature as the development lifecycle continues Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 27
28 Unified Process: Architecture-Centric Software architecture shows different views of the system being built and embodies the static & dynamic aspects of the system (design framework) Also influenced by the computer architecture, operating system, DBMS, network protocols etc. The form must allow the system to evolve from initial development through future requirements (i.e. the design needs to be flexible) Key use cases influence the design of the architecture which may in turn influence development of other use cases Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 28
29 Unified Process: Iterative and Incremental Systems development is frequently a large undertaking - may be divided into several mini-projects each of which is an iteration resulting in incremental development of the system Incremental Development: An approach to software development where the software is delivered and deployed in increments First increment satisfies the Iterative Development An approach to software development where the processes of specification, design, programming and testing are interleaved Concepts of use case driven, architecture centric and iterative & incremental are of equal importance Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 29
30 Life of the Unified Process Unified Process repeats over a series of cycles each concluding with a product release (increment) to the users Cycles have no specific name but characterize the stage of maturity of the software system (like birth death ) Each cycle has four phases (each with a number of iterations) Inception, Elaboration, Construction & Transition Phases have goals ( result in artefacts or models) Delivered products will be described by related models each with trace dependencies which chain backwards and forwards Use Case Model Analysis Model Design Model Deployment Model Implementation Model Test Model Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 30
31 Life of the Unified Process Cycles concluded with a release Birth --- Death Time Inception Elaboration Construction Transition i1 i in-1 in... i = iteration Releases A cycle with its phases and its iterations Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 31
32 Workflow Activities All activities that are place during a phase are called workflows During a single phase several workflows may run in parallel Workflows are the static part of process and are not associated with a single phase Phase: have concrete goals ( artifact) Workflow: Technical activities to achieve the goals of each phase Development-oriented Workflows: Requirements, Design, Implementation, Testing Cross-functional activities Management, Environment, Assessment and Deployment Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 32
33 Workflow Activities Management workflow Planning the project (Problem statement, SPMP, SCMP, Test plan) Environment workflow Automation of process and maintenance environment. Setup of infrastructure (Communication, Configuration management,...). Requirements workflow Analysis of application domain and creation of requirements artifacts (analysis model). Design workflow Creation of solution and design artifacts (system design model, object design model). Implementation workflow Implementation of solution, source code testing, maintenance of implementation and deployment artifacts (source code). Assessment workflow Assess process and products (reviews, walkthroughs, inspections, testing ) Deployment workflow Transition the software system to the end user Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 33
34 Core Workflows & Phases Management Workflow Environment Workflow Requirements Workflow Design Workflow Implementation Workflow Assessment Workflow Deployment Workflow Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 34
35 RUP - Summary The RUP is not a suitable process for all types of development but it does represent a new generation of generic processes Most important innovation: Combination of many views Deployment of software is part of the process (almost ignored in other process models) Based on standards Object-oriented Modeling Unified Modeling Language Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 35
36 Overview Phases during Software Development Different Software Development Processes Waterfall Spiral Model Rational Unified Process Rapid Software Development Agile Software Development and Extreme Programming (XP) Impacts on Requirements Engineering Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 36
37 Rapid Development Problem Because of rapidly changing business environments, businesses have to respond to new opportunities, requirements and competition. Because of the changing environment, it is often impossible to arrive at a stable, consistent set of system requirements. Facts Rapid development and delivery is not often the most critical requirement for software systems Reduce time-to-market Businesses may be willing to accept lower quality software if rapid delivery of essential functionality is possible. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 37
38 Rapid Development Solution: Rapid software development processes are designed to produce useful software quickly. The processes of specification, design and implementation are concurrent. There is no detailed specification and design documentation is minimised. The system is developed in a series of increments. End users evaluate each increment and make proposals for later increments. System user interfaces are usually developed using an interactive development system (CASE tools). Accelerated delivery of customer services. Each increment delivers the highest priority functionality to the customer. User engagement with the system. Users have to be involved in the development which means the system is more likely to meet their requirements and the users are more committed to the system. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 38
39 Increments vs. Prototype Incremental development Delivered system Outline requirements Thro w-aw ay prototyping Executable prototype + System specifica tion The objective of incremental development is to deliver a working system to end-users. The development starts with those requirements which are best understood. The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 39
40 Agile Software Development: Different Methods and Approaches Dissatisfaction with the overheads involved in design methods led to the creation of agile methods. Core issues: Focus on the code rather than the design; Are based on an iterative approach to software development; Are intended to deliver working software quickly and evolve this quickly to meet changing requirements. Agile methods are probably best suited to small/medium-sized business systems or PC products. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 40
41 Agile Software Development: The Agile Software Development Manifesto Permanent Customer Involvement Role: Provide and prioriterize new system requirements Incremental delivery Software is developed in increments People not process Skills of team (members) should be appreciated Should be left to work with their own methods, tools etc. Embrace change Expect system requirements to change, so design the system to accommodate these Maintain simplicity Focus on simplicity in both software and development process Work together in eliminate complexity Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 41
42 Problems with agile methods It can be difficult to keep the interest of customers who are involved in the process. Team members may be unsuited to the intense involvement that characterizes agile methods. In particular shy and reserved people Prioritising requirements can be difficult when there are multiple stakeholders. Maintaining simplicity requires extra work. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 42
43 Extreme Programming (Beck, 2000) Perhaps the best-known and most widely used agile method. Extreme Programming (XP) takes an extreme approach to iterative development. New versions may be built several times per day; Increments are delivered to customers every 2 weeks; All tests must be run for every build and the build is only accepted if tests run successfully. Programming in pairs Continuously re-prioritizing of requirements (client, customer, users) Client is part of development team and in charge Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 43
44 Life Cycle of XP In XP, user requirements are expressed as scenarios or user stories. These are written on cards and the development team break them down into implementation tasks. These tasks are the basis of schedule and cost estimates. The customer chooses the stories for inclusion in the next release based on their priorities and the schedule estimates. Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 44
45 How does XP work? (1) The planning game long-term plans only diffuse Details in short-terms (some days) customer is involved in every development cycle (some weeks) tasks are handed out according to skills Short development cycles enforce decomposition into small tasks minimize risk better integration of customer Simple Design Design takes into account only short-term goals complexity is low Sustainable amount of time Large amounts of overtime are not considered acceptable (reduce quality) Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 45
46 How does XP work? (2) Tests Unit tests: For implementation details, are developed by the developers themselves, are designed before development Test-first development enhances trust in system Refactoring allow for continuous changes in design Keep code simple and maintainable Programming in pairs always pair-programming changing pairs (daily) distributes knowledge within the team Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 46
47 How does XP work? (3) Collective ownership: Source code belongs to the team everybody can make changes (consultation) no fixed responsibilities pairs work on all areas, no islands of expertise Continuous integration integration several times a day system is error-free every evening Standards (Coding) is commonly accepted Customer agent is part of the team available (in case of questions) works out feature tests Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 47
48 Impacts in Requirements Engineering Requirements Change over time (considered in process) XP means design with/for change Simplicity encourages fast changes User participation More cycles More user involvement Explicit testing during development User is involved by basic XP principles (Feature) Tests are developed with/by users Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 48
49 Conclusions (XP) Advantages Flexible Quick Customer-centered Team-oriented Disadvantages little documentation (only tests und code) Scalability problems (only small and medium projects) Depends strongly on team members Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 49
50 Conclusions Requirements phases have been regarded in almost all process models Traditional Development processes: Waterfall model, RUP Requirement phases have become more and more interleaved with other phases Models like RUP are good for complex projects with relatively fixed requirements Agile Processes Higher flexibility (for development of projects with rapidly changing requirements) Customer participation during the whole process (smaller cycles lead to steady involvement) Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 50
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
Rapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
Unit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases
Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing
6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.
6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
Chapter 2 Software Processes
Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
I219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu [email protected] Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
Software Lifecycles Models
Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. [email protected].
The software process Software Development Methods Bayu Adhi Tama, ST., MTI. [email protected] A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
Agile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
A Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
Development Methodologies
Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller [email protected] Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
Advanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified
How To Understand The Software Process
Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team
SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
Lecture 3 Software Development Processes
Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview
Objectives. The software process. Basic software process Models. Waterfall model. Software Processes
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Software Project Management using an Iterative Lifecycle Model
Software Corporation Software Project Management using an Iterative Lifecycle Model 1 Objectives of this Presentation To understand what the Unified Process is To understand the iterative lifecycle approach
Software Engineering. Objectives. Designing, building and maintaining large software systems
Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models
Modelli di sviluppo software. Enrico Giunchiglia
Modelli di sviluppo software Enrico Giunchiglia The software development process A structured set of activities required to develop a software system, including Specification Design & Development Validation
Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
The Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
Agile methods. Objectives
Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
Quality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
Software Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
Software Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)
1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models
CHAPTER. Software Process Models
CHAPTER Software Process Models 4 Chapter Objectives Introduce the generic concept of software engineering process models. Discuss the three traditional process models. Waterfall Incremental Spiral Discuss
Software Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
IV. Software Lifecycles
IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle
What CMMI Cannot Give You: Good Software
What CMMI Cannot Give You: Good Software Ivar Jacobson [email protected] [email protected] Objective To understand what CMM/CMMI is and what it is not To demonstrate how the unified process helps you
Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 20-21 The Unified Process Dynamic dimension Two dimensions Content
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
A Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
6 Contracts and Scenarios in the Software Development Process
6 Contracts and Scenarios in the Software Development Process Summary: Software development processes play an important role in the successful and timely delivery of software. There are different approaches
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
Software Process for QA
Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called
Software Quality and Assurance in Waterfall model and XP - A Comparative Study
Software Quality and Assurance in Waterfall model and XP - A Comparative Study Dr. Sana a Jawdat Khalaf [email protected] Dr. Mohamed Noor Al-Jedaiah [email protected] Abstract: -Dealing with
Web Application Development Process
Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
Introduction to Software Engineering: Project Management ( Highlights )
Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 15 Agile Methodologies: AUP 1 Agile Unified Process (AUP) Proposed by Ambler as a simplified version of the Rational Unified Process (RUP).
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
Software Design Models, Tools & Processes *
Software Design Models, Tools & Processes * Lecture 1: Software Design and Software Development Process Cecilia Mascolo * Thanks to Alan Blackwell and Jim Arlow for le7ng me use some of their slides. About
Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Documentation Methodologies:
Test Cases Design for Software Database Provisioning Development
Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea [email protected] Abstract This paper
Supporting Workflow Overview. CSC532 Fall06
Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure
Plan-Driven Methodologies
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming
Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)
Lifecycle Planning Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Version 1.4 David Root, 2005, all rights reserved 1 Topics Who am I to
10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
Chapter 4, Requirements Elicitation
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation Software Lifecycle Definition Software lifecycle Models for the development of software Set of activities
Software Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini [email protected],
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
Software Development Life Cycle Models - Process Models. Week 2, Session 1
Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative
ASSESSMENT OF SOFTWARE PROCESS MODELS
ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development
Object-Oriented Systems Analysis and Design
Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS
Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.
Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all
System development lifecycle waterfall model
Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical
Analysis and Design with UML
Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods
Software development processes Life-cycle Models
Software development processes Life-cycle Models Lecture 2 Kari Systä 20.1.2014 TIE-21100&21106/K.Systä 1 About weekly exercises TUE 1015-1200 TC131 Free space TUE 1214-1400 TC131 full WED 1015-1400 TC163
