IV. Software Lifecycles
|
|
|
- Phoebe Walsh
- 10 years ago
- Views:
Transcription
1 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 phases 2003 Giorgini Lifecycles -- 1 The Software System Lifecycle A software process is a partially ordered collection of actions, carried out by one or more software engineers, software users, or other software systems. The software system lifecycle is a software process by which a software system is developed, tested, installed and maintained throughout its useful history. The concept of software lifecycle is a useful project management tool. A lifecycle consists of phases, each of which is a software process. Think of lifecycles as coarse-grain software processes. There is a lot of work on fine-grain software processes, such as fixing a bug, extending a module, testing a module, etc. We focus here on information system development lifecycles 2003 Giorgini Lifecycles -- 2 Page 1
2 The Software Lifecycle For large software systems, involving >10K lines of code (LOC), the breakdown of costs between different phases is as follows: Requirements Analysis 5% Design 10% Programming-in in-the-small 15% Integration 10% Maintenance and Evolution 60% The breakdown of costs per phase for small software systems (<5K LOC) has as follows: Specification 10% Decomposition 20% Coding 20% Optimization 15% Testing 25% Validation 10% Systems analysis and design more important than coding! 2003 Giorgini Lifecycles -- 3 What is Described by a Lifecycle? The lifecycle describes the temporal, causal and I/O relationships between different lifecycle phases The lifecycle concept includes the concept of feedback (returning to a previous phase) as well as moving forward to the next phase In the past, the lifecycle concept was applied to the management of complex systems that had some sort of physical hardware as their end product, e.g., missiles, communication networks, spacecraft, etc. However, for hardware systems there is a tangible end product that can be measured and observed,... It is not as easy to measure and observe the results of information systems analysis and design 2003 Giorgini Lifecycles -- 4 Page 2
3 Lifecycle Models History of lifecycle models Stage-wise (Benington, 1956) Waterfall (Royce, 1970) Transformational, automatic (Balzer, 1973; Balzer, Cheatham and Turner, 1983) Evolutionary (Basili & Turner, 1975) Transformational, specification to implementation (Lehman, Stenning and Turski, 1984) Spiral (Boehm, 1986) Benefits of lifecycle models Process awareness and understanding Order of global activities Improvement in product quality Reduction of software costs Deficiencies of lifecycle models Too coarse-grained -- they hide important process detail 2003 Giorgini Lifecycles -- 5 The Waterfall Lifecycle Model System reqs System design Software reqs Preliminary design Detailed design Coding & testing Integration testing System testing 2003 Giorgini Lifecycles -- 6 Page 3
4 Waterfall Life Cycle Deliverables 2003 Giorgini Lifecycles -- 7 Criticisms of the Waterfall Life Cycle Model Advantages The tasks in a particular stage may be assigned to specialized teams; The progress of the project can be evaluated at the end of each phase and an assessment made as to whether the project should proceed; Criticisms Inflexible partitioning of the project into distinct stages -- real projects rarely follow it! Iterations are inevitable; It may take too long; Difficult to respond to changing customer requirements. Generally, this lifecycle model is appropriate when the requirements for a given system are well-understood Giorgini Lifecycles -- 8 Page 4
5 The Waterfall Life Cycle with Iteration 2003 Giorgini Lifecycles -- 9 Prototyping Built something quickly to explore some aspect of the systems requirements The prototype is not intended as the final working system; among other things, it may be incomplete. less resilient (ex. poor performance) than a production system. In building a prototype, the objective is to investigate user requirements, in particular: What data should be presented and what data should be captured; To investigate suitable forms of interfaces; Also to determine whether a particular implementation platform is appropriate, as well as the efficacy of a language, DBMS or communication infrastructure Giorgini Lifecycles Page 5
6 Prototyping 2003 Giorgini Lifecycles Evaluation of Prototyping Advantages Early demonstrations of system functionality help identify any misunderstandings between developer and client; Helps identify missing client requirements; Problems with user interfaces can be identified; Early testing of feasibility and usefulness of the system (partially) Problems The client may not understand the extra effort needed to produce a working production system; May divert attention from functional to solely interface issues; Requires significant user involvement; Managing the prototyping life cycle is not easy; Applicability For small or medium-size interactive systems For parts of large systems (e.g. user interfaces) For short-lifetime systems Giorgini Lifecycles Page 6
7 The Spiral Lifecycle 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 2003 Giorgini Lifecycles The Spiral Lifecycle Model Analysis Planning Determine objectives alternatives and constraints Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Acceptance test Evaluate alternatives identify, resolve risks Prototype 3 Operational protoype Simulations, models, benchmarks Product design Integration test Code Unit test Detailed design Develop, verify next-level product Design Implementation and validation 2003 Giorgini Lifecycles Page 7
8 Objective setting Spiral model sectors 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 2003 Giorgini Lifecycles Software Processes: Fixing a Bug Step 1: Problem identification /* During testing, a problem is identified */ A problem report is created, including problem identification, responsible personnel etc. Responsible personnel is notified Step 2: Problem analysis Perform problem description evaluation, evaluation of software component etc. Propose solutions and describe technical and operational implications Step 3: Cost analysis Project manager decides whether to use cost analysis routine If so, perform cost analysis to determine impact in workmonths Step 4: Schedule analysis... Step 5: Perform change process... Step 6: Close problem report Giorgini Lifecycles Page 8
9 A Testing process Software Process Programming Function AllFunctionsnsOK(executable,tests); declare executable executablecode, tests testset, result derivedresult; /* executablecode etc are types, undefined here */ All-fn-OK := true; For case := 1 to #tests do derive(executable,tests[case].input,result) if~resultok(result,testcase[case].output) then All-fn-OK := false; exit; end loop; end All-Fn-Perf-OK This only works for highly structured or automated processes [Osterweil87] 2003 Giorgini Lifecycles optimizing 4 managed 2 repeatable 1 initial Software Process Maturity Level Characteristic Key challenges Result improvement maintain organization feedback into at optimi- process zing level process defined changing technology; quantitatively problem and measured prevention process defined process measurement and 3 and institutionalized analysis defined intuitive process, training, process dependent focus on individuals ad hoc/chaotic project and configuration management Productivity & quality risk 2003 Giorgini Lifecycles Page 9
10 Software Process Maturity: Field Study (early 90s) Level USA (167 cases) Japan (196 cases) Result 5 optimizing 0% 0.5% Productivity & quality 4 managed 0% 0% 3 defined 1% 0.5% 2 repeatable 13% 1% 1 initial 86% 98% risk 2003 Giorgini Lifecycles Information System Development Phases We focus now on the development part of the software lifecycle. There are many ways to divide up an information system development into phases For this course, we identify four major phases: feasibility study, requirements analysis, system design, implementation All activities associated with each phase must be performed, managed and documented. Development support Development support -- tools and methodologies that support the performance, management and documentation of all four phases 2003 Giorgini Lifecycles Page 10
11 The Information System Lifecycle Phases Survey project scope & feasibility feasibility study Study current system problem statement Define end user reqs. project request initial requirements Select feasible solution delivered system Maintain & improve system Design new system design spec detailed requirements configuration Select & Acquire new S&H/W new system Deliver new system S/W Construct new system 2003 Giorgini Lifecycles Who Are the Players ( Stakeholders )? Management -- for initiation, approval, control, possibly as users End-users (persons who actually use the system on a day-to-day basis) -- they provide input during requirements definition and testing, participate in committees and final system evaluation Developers (analysts and programmers) Analysts -- serve as project leaders, perform information analysis, create system requirements and design Programmers -- program, test, document, maintain System support group -- they are responsible for system maintenance Database administrator -- responsible for design and control of one or more databases Program librarian -- keeps track of all program files, documentation Steering committee -- oversees project to ensure that objectives have been met 2003 Giorgini Lifecycles Page 11
12 Phase I: The Feasibility Study Phase Deciding What to Do: Confirm that a problem exists Carry out a study to determine if a system can be developed to solve the problem (2 days - 4 weeks) A feasibility study looks at the problem at a high level (only takes into account few details) The study provides cost and savings estimates for the proposed solution. The feasibility study is reviewed by the customer (usually through a manager) and if the review is positive, then a more detailed requirements study is undertaken Giorgini Lifecycles Phase II: The Requirements Analysis Phase Study existing procedures and computerized information systems in detail and document them. Define goals to be achieved by the new system Propose alternate (possibly several) business processes that might better fit organizational goals and objectives. Discuss these with the customer and get feedback on what is the most desirable alternative. Define the boundaries of the information system to be built as part of the collection of business processes. Define non-functional requirements on the proposed system, including input/output requirements, response requirements, file requirements, etc. Collect statistics on volumes, amounts of data handled by the system Giorgini Lifecycles Page 12
13 Phase III: The Design Phase Specify an architecture and a detailed design for the proposed information system Ideal system specified first, meeting all functional requirements, then modified to meet non-functional requirements and other constraints Resources allocated for hardware equipment, personnel tasks and programming tasks Technical specifications are prepared for: system architecture (components, system interfaces to existing systems), processing logic (how does the system do what it is supposed to?), database design (what information does the system handle?), input/output (what do the users see?), platform requirements (on what systems does the system run?) and manual procedures (how do people use the system?) 2003 Giorgini Lifecycles Phase IV: The Implementation Phase (Not Covered in this Course) The system is implemented on the basis of the design specification. Programming of the system is carried out Testing of the system, both as individual parts and as a whole, are conducted (acceptance test) Equipment is acquired and installed Procedures, system manuals, software specifications and documentation are completed Staff is trained 2003 Giorgini Lifecycles Page 13
14 Managing Information Systems Development As project proceeds more details become available as to what the proposed system should do and how to operate it At each stage identify risks to the organization and determine their significance If there is a risk of catastrophic failure then either the system should be redesigned or the project to be cancelled. User involvement Ensure that there is continued and effective user involvement throughout the project Users can be involved at various levels and play many different roles Direct involvement Fact gathering Consultative Carefully explain their role Provide training as required Give sufficient time 2003 Giorgini Lifecycles Methodological Approaches Approach to software development (ex. OO) A set of techniques and notation (ex. UML) A life cycle model (ex. Spiral incremental) A unifying set of procedures and philosophy In this course we do not follow a particular methodology We only apply OO techniques in a coordinated fashion using UML 2003 Giorgini Lifecycles Page 14
15 Automated process support (CASE) Computer-aided software engineering (CASE) is software to support software development and evolution processes Activity automation Graphical editors for system model development Data dictionary to manage design entities Graphical UI builder for user interface construction Debuggers to support program fault finding Automated translators to generate new versions of a program 2003 Giorgini Lifecycles CASE support for diagram preparation Checks for syntactic correctness Data dictionary support Checks for consistency and completeness Navigation to linked diagrams Layering Traceability Report generation System simulation Performance analysis 2003 Giorgini Lifecycles Page 15
16 CASE support for Software Construction Code generators Debuggers Maintenance tools Etc CASE Technology Case technology has led to significant improvements in the software process though not the order of magnitude improvements that were once predicted Software development requires creative thought - this is not readily automatable Software development is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these 2003 Giorgini Lifecycles CASE Benefits Standardizing the notation and diagramming standards Performing automatic checks on the quality of the models Reducing time in retrieving data about the system Reducing the time and effort to produce code Promoting reuse of models CASE Disavantages Limitations in the flexibility of the documentation provided The need to work in the particular way False sense of correctness Costs attached to installation and training 2003 Giorgini Lifecycles Page 16
17 Additional Readings [Humphrey89] Humphrey, W. and Kellner, M., "Software Process Modelling: Principles of Entity Process Models", Proceedings Eleventh International Conference on Software Engineering, Pittsburgh, May [Humphrey90] Humphrey, W., Managing the Software Process, Addison-Wesley, [Osterweil87] Osterweil, L., "Software Processes are Software Too", Proceedings Ninth International Conference on Software Engineering, Monterey, Giorgini Lifecycles Page 17
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
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
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 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
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
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
General Problem Solving Model. Software Development Methodology. Chapter 2A
General Problem Solving Model Software Development Methodology These focus on understanding what the problem is about Chapter 2A Concerned with understanding more about the nature of the problem and possible
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
Foundations of software engineering
Foundations of software engineering Waterfalls, V s and Spirals: Standard SE Methodologies Dr. Julie Greensmith G51 Objectives To introduce three of the major software process models: Waterfall methods
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 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
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.
Software Processes. Topics covered
Software Processes cmsc435-1 Topics covered Systems vs. software engineering Software process models Process iteration Process activities Computer-aided software engineering cmsc435-2 What is a system?
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
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
Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems
Dependable (Safe/Reliable) Systems Composing, Analyzing and Validating s to Assess / Develop / Validate Methods and Supporting Tools for the Creation of Dependable Systems ARO Reliability Workshop Intensive
Software Engineering. Software Engineering. Software Costs
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian
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
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci
Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental
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
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
(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
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,
Unit I. Introduction
Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
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
Chapter 3. Software Processes
Chapter 3. Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems 1 Objectives To introduce the concept of software process and software process
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
Introduction to Systems Analysis and Design
Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.
And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
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
Software Production and Lifecycle Models
Software Production and Lifecycle Models 1 Problem Definition Change Architectural Design Verification Personnel Basic Phases Potential Difficulties, Verification, and Testing Implementation and Integration
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Process Models and Metrics
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
Software Engineering Question Bank
Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step
Information Systems Analysis and Design CSC340. XXIV. Other Phases
XXIV. Other Phases Implementation Phase Testing and Installation Phase Post-Installation Tasks Course Summary 2004 John Mylopoulos Other Phases -- 1 The Software Lifecycle Revisited Survey project scope
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
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
Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities
Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
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
Assuming the Role of Systems Analyst & Analysis Alternatives
Assuming the Role of Systems Analyst & Analysis Alternatives Nature of Analysis Systems analysis and design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the
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
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps
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
Project management. Organizing, planning and scheduling software projects
Project management Organizing, planning and scheduling software projects Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 3 Slide 1 Objectives To introduce software project management and
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
Information Systems Development Process (Software Development Life Cycle)
Information Systems Development Process (Software Development Life Cycle) Phase 1 Feasibility Study Concerned with analyzing the benefits and solutions for the identified problem area Includes development
Information Systems Analysis and Design CSC340. I. Introduction
I. Introduction Types of Software Information Systems in Organizations Requirements Analysis and Design Roles of a Systems Analyst Notations, Methods and Tools Information System Lifecycle Phases 2003
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.
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
Design of Enterprise Systems
Design of Enterprise Systems Theory, Architecture, and Methods Ronald E. Giachetti CRC Press Taylor &. Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an
Introduction to Software Project Management. CITS3220 Software Requirements & Project Management
Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there
SOFTWARE DEVELOPMENT PLAN
SOFTWARE DEVELOPMENT PLAN This document outline is based on the IEEE Standard 1058.1-1987 for Software Project Management Plans. This is the controlling document for managing a software project, and it
Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005
Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What
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
Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes [email protected]
Establishing Great Software Development Process(es) for Your Organization By Dale Mayes [email protected] Class: ETP-410 Embedded Systems Conference San Francisco 2005 Abstract: There are
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
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Components Based Design and Development. Unit 2: Software Engineering Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 2: Software Engineering Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
How To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification
REQUIREMENTS SPECIFICATION AND MANAGEMENT In this note we give the requirements process in a software organization, a template for the requirements document, and the process to manage changes to the requirements.
Iterative Project Management 1
Iterative Project Management Module 2 Objectives Understand issues for Project Managers (PM) who use iterative development by: Learning how the PM monitors and steers an iterative project towards success.
Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development
Fundamentals of Information Systems, Fifth Edition Chapter 8 Systems Development Principles and Learning Objectives Effective systems development requires a team effort of stakeholders, users, managers,
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
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
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
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle
Database Project Lifecycle Philippe Bonnet, 2006 2 Software Engineering The implementation of a database application is a significant engineering endeavor The project must complete On time On budget The
A Process Model for Software Architecture
272 A Process Model for Software A. Rama Mohan Reddy Associate Professor Dr. P Govindarajulu Professor Dr. M M Naidu Professor Department of Computer Science and Engineering Sri Venkateswara University
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective
Chapter 3 Chapter 3 Project Management Learning Objective...to give an appreciation for and to introduce project management and to place it into context and give some of the fundamentals to project management
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
Software Life Cycle. Management of what to do in what order
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
Requirements Engineering Process
Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their
CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
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
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
What is BPM? Software tools enabling BPM
What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets
Sistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale ([email protected]) 17 October 2006 1 The essence of
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
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 Process and Models
Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for
Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction
CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for
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
Requirements Management
REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Outline. Definitions. Course schedule
SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week
Project Management Planning
Develop Project Tasks One of the most important parts of a project planning process is the definition of activities that will be undertaken as part of the project. Activity sequencing involves dividing
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
A system is a set of integrated components interacting with each other to serve a common purpose.
SYSTEM DEVELOPMENT AND THE WATERFALL MODEL What is a System? (Ch. 18) A system is a set of integrated components interacting with each other to serve a common purpose. A computer-based system is a system
