USC's Two Semester Software Engineering Graduate Project Course

Size: px
Start display at page:

Download "USC's Two Semester Software Engineering Graduate Project Course"

Transcription

1 USC's Two Semester Software Engineering Graduate Project Course A. Winsor Brown Computer Science and USC Center for Systems and Software Engineering, University of Southern California Los Angeles, CA , USA and Supannika (Sue) Koolmanojwong Computer Science, University of Southern California Los Angeles, CA USA ABSTRACT For over 12 years, USC's Computer Science (CSCI) Department has been offering a two-semester software engineering course designed by Dr. Barry Boehm and required course for the CS department's Specialization in Software Engineering. From the beginning, it has been doing real projects for real clients. The courses focus on activities not normally covered by regular computer science. While the focus is on software engineering of the projects, the project is done in the context of systems engineering, employing the Incremental Commitment Model (ICM). Project teams are self-organizing and select the projects they wish to work on. Over the years, various online tools have been developed specifically to support the courses. Keywords: Incremental Commitment Model (ICM), Electronic Process Guide (EPG), Distance Education, Real Projects For Real Clients, Systems Engineering, Software Engineering. 1. INTRODUCTION Software engineering project courses provide a way for software engineers in training to both learn about their trade and put it into practice. Such courses, especially with large enrollments, up to about 200 students for CSCI577a, require special tools to support them in addition to the expected software engineering tools for architecture and design, configuration management, and bug and issue tracking. PhD students have evolved many of the coursespecialized tools over the years as these tools have been used to gather data for their theses. [1] 2. COURSE CONCEPT For these courses, Software Engineering is defined as the disciplines that distinguish the coding of a computer program from the development of a software product. These "real projects for real clients' courses" stress the topics that are not the focus of classic computer science as shown in Figure 1. Figure 1. CS Traditional vs. SE focus From the beginning, students are told that the intent is to prepare them for software leadership careers through the 2040 s, including balancing agility with discipline and COTS/OSS, model, and service-based and network centric systems. All these considerations are integrated via Value- Based Software Engineering (VBSE), Incremental Commitment Models (ICMs) [2], and project experience. Real clients for real projects In the beginning, projects came from the USC Libraries, which often had niche systems they wanted but, with limited funding, little support from the campus-wide IT department. Other departments, also wanting niche or specialty systems heard about the projects and their "free" labor. CSSE itself has occasionally been a client for specialty projects and tools, including those for the course itself. For the last several years, however, the bulk of the clients come from the USC University Neighborhood Organizations (UNO) and other not-for-profit organizations that are part of an expanding network of contacts that UNO has developed over the years. The course also takes some for-profit small organizations who propose projects. Teams Teams are self-selecting and "bid" on projects using a preference ranking. Projects are described with three or four paragraphs of descriptions that do not explicitly identify the client contacts. Some projects are initially scoped and identified as "one-semester projects," or projects that can be completed in one semester, typically either asking for evaluations of COTS page alternatives or using COTS frameworks, although recently the course has done several projects using network centric services. Since there are invariably more projects "proposed" than teams to

2 serve them, the projects are assigned to teams on a "least regrets" basis. The teams are expected to have six-or-seven on-campus students, supplemented by one-or-two off-campus students who participate via USC's Distance Education Network (DEN). DEN provides both live and delayed streaming video of the lectures. Most of the DEN students are working professionals who are all over the country. After teams based on on-campus groupings are formed, the DEN students get to state their preferences of the selected projects. DEN student roles in the first semester are given to them. In addition to providing Independent Integrated Verification and Validations through evaluations of student documentation packages, some are asked to play the role of System/Project engineer working closely with the client (even if remote). If there are two DEN students on a project, the second one might play the role of Quality Focal Point, gathering data and analyzing "defect" data coming from various sources on the project. During the second semester, DEN students are permitted to play almost any role(s) for which they are suited. Unfortunately, with less than one-half of the students continuing into the second semester, the course has to provide additional resources. These have been coming from a pool of Directed Research (DR) and Unpaid Interns (UIs). Note: CSCI 577a and CSCI577b are four unit courses, yet most other CSCI courses are three units; many students do not want to pay for a full four units for the spring semester but want to work on helping to complete their projects, thus a two unit DR fits in quite well. For projects that continue into the spring we seldom let a project go forward with less than three of the original team members, but occasionally there are exceptions, some of which are disastrous and others are wildly successful. Occasionally, despite warnings to the students about "honoring commitment" (for which there are grade consequences) and frequent monitoring of student continuity, individual special cases arise. In an attempt to fulfill CSSE's commitment to clients who start in good faith on two semester projects, we are forced to run "off-thebooks" projects using just DR and unpaid interns students, especially when there is a critical mass DR/UI students who worked on a project during the first semester. NOTE: Those DR/UIs not selected for working on 577b projects are used by CSSE to test and enhance the CodeCount tool suite CSSE provides. Students Students in the course come from various departments on campus. The majority of the students are foreign nationals in computer science, and only some of them have had any real work experience. The other department frequently represented is Systems Architecting and Engineering which cross lists CSCI577a and CSCI577b as valid courses. Occasionally, EE graduate students will enroll, and many of them end up switching to CS with a healthy dose of software engineering courses. Process and methods It is not possible to run such a large class without having relatively uniform methods and processes, such as the ICM, and especially its adaptation for CS577ab, the Instructional Incremental Commitment Model for Software (IICM-Sw). Fortunately, a CSSE developed Electronic Process Guide (EPG) that is based on IBM/Rational's "Rational Method Composer" supports the IICM-Sw [3]. In order to grade team's work, there also needs to be a uniform set of documentation, depending on the type of project. For that, the EPG provides guidance and templates for the documents the students generate. While CSCI 577ab use relatively small projects, the students document them just enough to be like medium-sized real projects. The amount of documentation however is balanced by its use in projects that come back for enhancements or need longer transition times, as explained later. 3. LIFECYCLE MODELS Overview of the Incremental Commitment Life Cycle Model (ICM) An overview of the ICM life-cycle process (Boehm 2008) is shown in Figure 2.

3 Figure 2. Overview of the Incremental Commitment Life-Cycle Process The ICM identifies the following key process principles as critical success factors: Stakeholder Satisficing 1 : Identify and engage key stakeholders (i.e., those critical to success) early and often to validate and re-validate requirements, solutions and plans, and to discuss potential and proposed changes. Incremental and Evolutionary Growth of System Definition and Stakeholder Commitment: Establish and apply a robust framework for evolution, including stakeholder interaction and agreement processes that gradually build understanding and trust, enabling objective tradeoff analyses and resulting in incremental commitments to plans to move forward. 1 "The word satisfice was coined by Herbert Simon as a portmanteau of 'satisfy' and 'suffice' meaning to meet criteria for adequacy, rather than to identify an optimal solution. [Wikipedia; Satisficing: Iterative System Development and Definition: Iteratively refine tradeoff analyses, requirements, solutions, and plans based on new information, new needs, and new technologies. Concurrent System Definition and Development: Define, analyze, and refine requirements and solutions concurrently, especially in environments in which legacy and commercial components factor into the solution. Refine requirements as more is known about constraints on the solution and to adapt to changes in mission and business needs. Risk Management Through Risk-Driven Anchor-Point Milestones: Apply risk-driven milestones to synchronize and stabilize activities and products that are concurrent, iterative, and evolving. Evaluate business, technical, and operational feasibility by independent experts, discuss risks and risk-management plans, and decide whether or whether not to proceed. Figure 2 also shows how ICM spans the full life cycle process from concept exploration to operations. Each phase concludes with an anchor point milestone review. At

4 each anchor point, there are four options, based on the assessed risk of the proposed system. Some options involve go-backs. The sets of options result in many possible process paths. The "negligible" path means that the only activities needed for the next phase are bringing the documents, and especially the Feasibility Evidence Document, up to the level needed by the next anchor point. The total system life cycle is divided into two stages: Stage I of the ICM (Definition) has three decision nodes, each with four options per node, culminating with incremental development in Stage II (Development and Operations). Stage II has an additional two decision nodes, again with four options per node. One can use ICM risk patterns to generate frequently used processes with confidence that they will fit the situation [4]. Initial risk patterns can generally be determined in the Exploration phase. One then proceeds with definition and development approach as a proposed plan with risk-based Feasibility Evidence at the VCR milestone and each subsequent milestone, adjusting plans and updating Feasibility Evidence in later phases as necessary. Risks associated with the system drive the life cycle process. Information about the risk(s) (feasibility assessments) supports the decision to proceed, adjust scope or priorities, or cancel the program. By comparison with the software-intensive, single development increment delivery of the Rational Unified Process (RUP) by IBM/Rational Corporation [5], the ICM also addresses hardware and human factors integration. It extends the RUP phases to cover the full system life cycle, including the following anchor-point milestones: Exploration Commitment Review (ECR), Valuation Commitment Review (VCR), Foundations Commitment Review (FCR), and one or more Development Commitment Reviews (DCRs) and Operations Commitment Review (OCRs). The ICM anchor-point milestones are focused on synchronizing the high degree of concurrency surrounding complex systems development with the stakeholder commitments needed to move forward. These milestones look at concurrent activities, which may span independently developed systems or subsystems, with a view toward synchronizing, stabilizing, and assessing risk before obtaining commitment to proceed to the next phase. An Incremental Commitment Model for Software (ICM-Sw) While developing and evolving the "Model Based [System] Architecting and Software Engineering" (MBASE) software lifecycle process model, a pre-cursor to IICM-Sw, CSSE (nee Center for Software Engineering, CSE) found that the RUP was the closest commercially supported software development life cycle model. RUP had concurrent activities and phases as shown in Figure 3. While it had phases, it did not contain anchor points, where the pre-cursor of commitment reviews, Architecture Review Boards [6], could be held. The MBASE anchor points were added giving MBASE/RUP as also shown in Figure 3. Figure 3. RUP with MBASE Anchor Point For the ICM subset for Software (ICM-Sw), which is now used in USC's CSCI577ab Software Engineering project course, it was clear that system ICM's Development Phase was actually composed of RUP/MBASE's Construction and Transition phases. The concept of Transition, especially of software onto its system/hardware platform, is a separate activity like integration. This also meant a need for additional, software specific commitment review, a Transition Readiness Review (TRR). Furthermore, RUP's Inception phase was appropriately refined into Exploration and Valuation phases, as shown in Figure 4 that comes from the Electronic Process Guide [7] for CSCI577ab.

5 Figure 4. ICM-Sw Anchor Points Product, property, process and success models Value based software engineering as practiced in CSCI577ab and ICM for systems are based on even more fundamental models. These four fundamental models are shown in Figure 5. development approaches, which is dubbed "Architected Agile" in the EPG and IICM-Sw. The current version has added variants for teams that use Non-Development Items (NDI; AKA COTS and major Open Source components) or Network Centric Services (NCS) such as those that are found in cloud computing environments. Timelines The IICM-Sw had to be mapped onto the CSCI577ab time lines. This was accomplished as shown in Figures 7 and 8. Figure 5. ICM P3S Model Integration Framework The important part is the process that is used to integrate specific models for a specific project, as shown in Figure 6. Figure 7. Two Semester Projects Figure 6. ICM-Sw & P3S Model Integration Process EPG versions The first version of the EPG addressed only new project Figure 8. One Semester Projects with Artifacts

6 4. COURSE TECHNICAL CONTENT Traditional Software Engineering Tools Beyond the typical tools that students have to use, such as compilers, IDEs, and Microsoft Project, the course teaches the use of COCOMO II for cost estimation, IBM/Rational's UML 2.0 modeling tool Rational Software Modeler, Subversion for configuration management, and Bugzilla for bug tracking and (mis)used for defect and issue tracking during the early phases. Other tools Tools developed specifically for CSCI577ab include one for "Benefits Realization Analysis" using Visio Diagrams; a Twiki based WinWin negotiations tool for requirements elicitation and prioritizations (mis)named WikiWinWin; a tool to help with the (distributed) analysis of risks called DART; a tool for identifying COTS mismatches called istudio, and an effort reporting system used by project managers in their on-going monitoring of teammates effort (as well as providing a base for research). These special tools are available for any educator willing to put in the time to install on their own equipment and master them. For off-the-books projects For the off-the-books projects running in parallel with CS577b projects, special tools have been developed to decrease the amount of time put into continually updating documents and to simplify requirements negotiations. For documenting an offthe-books project, a true Wiki was developed with a hierarchical set of pages devoted to each project, and a home page that provides guidance to the users of the Project Wiki. Both for offthe-books and light-weight enhancements of projects, a Goals and Objectives WinWin Negotiation Wiki was developed, again with a base page that explains it use and a page devoted to each project called GOWiki. The teaching staff will also use the G&O WinWin Wiki prior to the beginning of the course in the fall to help correctly scope projects as well as to demonstrate prospective client's active participation. 2. Boehm, B., "System Development Process: The Incremental Commitment Model," chapter 2 of Human- System Integration in the System Development Process: A New Look, 2007, with updated 2008 terminology and charts. USC CSSE Technical Report "USC-CSSE System Development Process: The Incremental Commitment Model (Barry Boehm)" 3. Supannika Koolmanojwong, Pongtip Aroonvatanaporn, Itti Charoenthongtrakul, USC CSSE Technical Report "Incremental Commitment Model Process Guidelines for Software Engineering Class" USC CSSE Technical Report USC-CSSE ( 4. Barry Boehm, Jo Ann Lane, Supannika Koolmanojwong, "A Risk-Driven Process Decision Table to Guide System Development Rigor," INCOSE 2009 and USC CSSE Tech Report USC-CSSE Kruchten, P. (2004). The Rational Unified Process: An Introduction (3rd Ed.), Addison-Wesley, Boston MA, ISBN Maranzano, J.F.; Rozsypal, S.A.; Zimmerman, G.H.; Warnken, G.W.; Wirth, P.E.; Weiss, D.M., "Architecture reviews: practice and experience"; Software, IEEE Volume 22, Issue 2, Mar-Apr 2005 Page(s): EPG for IICM-Sw: These tools too can be made available to other academic institutions, especially ones that wish to use lighter-weight tools where possible. 4. CONCLUSIONS Over the years, CSCI577ab has evolved to use continually improving best practices for value-based software engineering of real projects for real clients. REFERENCES 1. Supannika Koolmanojwong, Barry Boehm, "Using Software Project Courses to Integrate Education and Research: An Experience Report," Proceedings of the nd Conference on Software Engineering Education and Training - Volume 00, CSEET, pp PhDs and CSCI 577ab

Educating Software Engineers to Become Systems Engineers

Educating Software Engineers to Become Systems Engineers Educating Software Engineers to Become Systems Engineers Supannika Koolmanojwong and Barry Boehm Center for Systems and Software Engineering (CSSE) University of Southern California (USC) Los Angeles,

More information

A Look at Software Engineering Risks in a Team Project Course

A Look at Software Engineering Risks in a Team Project Course A Look at Software Engineering Risks in a Team Project Course Supannika Koolmanojwong and Barry Boehm Center for Systems and Software Engineering (CSSE) University of Southern California (USC) Los Angeles,

More information

Software Engineering Graduate Project Effort Analysis Report

Software Engineering Graduate Project Effort Analysis Report Software Engineering Graduate Project Effort Analysis Report Zhihao Chen Center for Software Engineering, University of Southern California, Los Angeles 90089 California, USA {zhihaoch}@cse.usc.edu Abstract:

More information

The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects

The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects The Incremental Commitment Model Process Patterns for Rapid-Fielding Projects Supannika Koolmanojwong and Barry Boehm Center of Systems and Software Engineering University of Souther California Los Angeles,

More information

A Risk-Driven Decision Table for Software Process Selection

A Risk-Driven Decision Table for Software Process Selection A Risk-Driven Decision Table for Software Process Selection Barry Boehm, Jo Ann Lane, Supannika Koolmanojwong University of Southern California ICSP 2010 Keynote Outline No one-size-fits-all software process

More information

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses

Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Computer Science Education 0899-3408/02/1203-187$16.00 2002, Vol. 12, No. 3, pp. 187±195 # Swets & Zeitlinger Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses Barry Boehm,

More information

Software Engineering and the Systems Approach: A Conversation with Barry Boehm

Software Engineering and the Systems Approach: A Conversation with Barry Boehm IGI PUBLISHING ITJ4305 701 E. Chocolate Avenue, Suite 200, Hershey PA 17033-1240, USA Int l Journal of Tel: Information 717/533-8845; Technologies Fax 717/533-8661; and the Systems URL-http://www.igi-global.com

More information

Chap 1. Introduction to Software Architecture

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)

More information

Impact and Contributions of MBASE on Software Engineering Graduate Courses

Impact and Contributions of MBASE on Software Engineering Graduate Courses Impact and Contributions of MBASE on Software Engineering Graduate Courses Ricardo Valerdi Massachusetts Institute of Technology rvalerdi@mit.edu Ray Madachy University of Southern California madachy@usc.edu

More information

COMP 354 Introduction to Software 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: gregb@cs.concordia.ca Winter 2015 Course

More information

CS4507 Advanced Software Engineering

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

More information

Plan-Driven Methodologies

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

More information

Classical Software Life Cycle Models

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

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Basic Unified Process: A Process for Small and Agile Projects

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.

More information

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Definition 3.2760 from ISO/IEC/IEEE 24765:2010(E)

More information

The ROI of Systems Engineering: Some Quantitative Results

The ROI of Systems Engineering: Some Quantitative Results The ROI of Systems Engineering: Some Quantitative Results Barry Boehm Center for Systems and Software Engineering University of Southern California boehm@usc.edu Ricardo Valerdi Lean Aerospace Initiative,

More information

Software Development Methodologies

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).

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,

More information

How To Understand The Software Process

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

More information

Recent Results in Software Process Modeling

Recent Results in Software Process Modeling Recent Results in Software Process Modeling Ray Madachy, Ph.D. C-bridge Internet Solutions University of Southern California Center for Software Engineering rmadachy@c-bridge.com, madachy@usc.edu 1 Introduction

More information

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan 1 W E B B A S E D M E E T I N G S C H E D U L E R S Y S T E M Project Plan Version 4.0 CS 6361 ADVANCED REQUIREMENTS ENGINEERING, SPRING 2010 UNIVERSITY OF TEXAS AT DALLAS R E Q U I R E M E N T S E N G

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

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

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

More information

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. 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

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both

More information

Software Engineering Reference Framework

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

More information

Software Development in the Large!

Software Development in the Large! Software Development in the Large! Peter Eeles Executive IT Architect, IBM peter.eeles@uk.ibm.com IBM Rational Software Development Conference 2007 2007 IBM Corporation Agenda IBM Rational Software Development

More information

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems Software Project Management Leveraging RUP, OpenUP, and the PMBOK Arthur English, GreenLine Systems GreenLine Systems Inc. 2003 2013 My Background 30+ years of IT project management experience with both

More information

EFFECTIVE SOFTWARE PROJECT MANAGEMENT

EFFECTIVE SOFTWARE PROJECT MANAGEMENT BOOK REVIEW EFFECTIVE SOFTWARE PROJECT MANAGEMENT by Robert K. Wysocki, Ph.D. www.eiicorp.com Title Effective Software Project Management Author Robert K. Wysocki, Ph.D. Publisher John Wiley & Sons, March

More information

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

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

More information

Increasingly rapid IT changes require software development projects to continuously

Increasingly rapid IT changes require software development projects to continuously focus oppor t unis t ic s o f t w ar e s y s t ems development Balancing Opportunities and Risks in Component- Based Software Barry Boehm, University of Southern California Jesal Bhuta, Infosys The Incremental

More information

Many people have provided us with valuable insights on the challenge of integrating systems and software engineering, especially at the OSD/USC

Many people have provided us with valuable insights on the challenge of integrating systems and software engineering, especially at the OSD/USC Many people have provided us with valuable insights on the challenge of integrating systems and software engineering, especially at the OSD/USC workshop in October 2007. We would particularly like to thank

More information

A Software process engineering course

A Software process engineering course Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other

More information

To introduce software process models To describe three generic process models and when they may be used

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

More information

Software Development Life Cycle (SDLC)

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

More information

3C05: Unified Software Development Process

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

More information

Outline. Definitions. Course schedule

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

More information

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

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

More information

Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry

Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry March 2004 Rational Systems Engineering with RUP: Process Adoption in the Aerospace/ Defense Industry Why companies do it, how they do it, and what they get for their effort By Dave Brown, Karla Ducharme,

More information

Lecture 3 Software Development Processes

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

More information

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 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

More information

Combining Models for Business Decisions and Software Development

Combining Models for Business Decisions and Software Development Combining Models for Business Decisions and Software Development 1 Christina Wallin, 2 Stig Larsson, 3 Fredrik Ekdahl, 1 Ivica Crnkovic 1 Mälardalen University, Department of Computer Engineering, Västerås,

More information

The most suitable system methodology for the proposed system is drawn out.

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.

More information

The Unified Software Development Process

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:

More information

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

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

More information

Oracle Unified Method (OUM)

Oracle Unified Method (OUM) Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions O R A C L E W H I T E P A P E R J A N U A R Y 2 0 1 5 Table of Contents Executive Overview 1 Introduction

More information

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

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

More information

Time Monitoring Tool Software Development Plan. Version <1.1>

Time Monitoring Tool Software Development Plan. Version <1.1> Time Monitoring Tool Software Development Plan Version Revision History Date Version Description Author 10/01/01 1.0 First Draft Sabrina Laflamme 12/01/01 1.1 Completion of Document John Lemon Page

More information

The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems

The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems The ROI of Systems Engineering: Some Quantitative Results for Software-Intensive Systems Barry Boehm, 1 Ricardo Valerdi, 2, * and Eric Honour 3 Regular Paper 1 Center for Systems & Software Engineering,

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

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

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI César Cid Contreras M.Sc. Prof. Dr. Henrik Janzen Published at the South Westphalia University of Applied Sciences,

More information

A Rational Development Process

A Rational Development Process Paper published in: Crosstalk, 9 (7) July 1996, pp.11-16. A Rational Development Process Philippe Kruchten Vancouver, BC pbk@rational.com 1. Introduction This paper gives a high level description of the

More information

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 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

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

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

More information

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. 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

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

Value-Based Feedback in Software/IT Systems

Value-Based Feedback in Software/IT Systems Value-Based Feedback in Software/IT Systems Barry Boehm, USC FEAST/ProSim/SOCE 2000 Keynote July 12, 2000 boehm@sunset.usc.edu http://sunset.usc.edu Outline COCOMO II 4-Cycle feedback model Value-based

More information

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria

More information

Requirements Management Practice Description

Requirements Management Practice Description Requirements Management Practice Description 1. REQUIREMENTS MANAGEMENT (RM) 1.1 Description of the practice TRASYS provide solutions to effectively manage critical issues and reduce risks in project related

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

More information

Netspective Software Development Process

Netspective Software Development Process Netspective Software Development Process The process is a tailored evolutionary prototyping-based process with hints of agile development. Evolutionary prototyping is a form of software system creation

More information

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

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

More information

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 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

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 The essence of

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

CMMI and IBM Rational Unified Process

CMMI and IBM Rational Unified Process IBM Software Group CMMI and IBM Rational Unified Process A practical route to greater development maturity CMMI Made Practical, London, 19-20 th March, 2007 Keith Mantell IBM Rational, UK keith_mantell@uk.ibm.com

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

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

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Software Engineering

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

More information

Agile Unified Process

Agile Unified Process INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE APPLICATIONS - IJCSMA Agile Unified Process Charles Edeki Ph.D, American Intercontinental University, Department of Information Technology, 160 Parkside

More information

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation Jo Ann Lane and Barry Boehm University of Southern California Center for Systems and Software Engineering Abstract Many

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction

More information

How Silk Central brings flexibility to agile development

How Silk Central brings flexibility to agile development How Silk Central brings flexibility to agile development The name agile development is perhaps slightly misleading as it is by its very nature, a carefully structured environment of rigorous procedures.

More information

A Process Model for Software Architecture

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

More information

Software Process Engineering & Management Models

Software Process Engineering & Management Models Software Process Engineering & Management Models Paul Grünbacher Institute for Systems Engineering & Automation Johannes Kepler University Linz Christian Doppler Laboratory for Automated Software Engineering

More information

A Comparison between Five Models of Software Engineering

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

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

COTIPMO: A COnstructive Team Improvement Process MOdel

COTIPMO: A COnstructive Team Improvement Process MOdel COTIPMO: A COnstructive Team Improvement Process MOdel Pongtip Aroonvatanaporn, Supannika Koolmanojwong, and Barry Boehm Center for Systems and Software Engineering University of Southern California Los

More information

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS Lisana Universitas Surabaya (UBAYA), Raya Kalirungkut, Surabaya, Indonesia E-Mail: lisana@ubaya.ac.id

More information

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Mastering increasing product complexity with Collaborative Systems Engineering and PLM Mastering increasing product complexity with Collaborative Systems Engineering and PLM Thierry Ambroisine Dassault Systèmes 10 rue Marcel Dassault, 78140 Vélizy Villacoublay, France thierry.ambroisine@3ds.com

More information

Experience on Software Development - A Case Study

Experience on Software Development - A Case Study Experience Report on the Development of a Network Management Application in a Small Mexican IT Firm Humberto Cervantes Universidad Autónoma Metropolitana-Iztapalapa (UAM-I), San Rafael Atlixco Nº 186,

More information

Software Process and Models

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

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

Planning a Project with the Rational Unified Process Author: David West

Planning a Project with the Rational Unified Process Author: David West Planning a Project with the Rational Unified Process Author: David West Rational Software White paper TP 151, 08/02 Table of Contents INTRODUCTION... 1 ABOUT THE PROJECT PLAN... 1 CHARACTERISTICS OF A

More information

The level of complexity needed to

The level of complexity needed to The level of complexity needed to develop spacecraft systems and other emerging technologies require programs to develop risk management and risk planning techniques that can potentially identify schedule

More information

How To Use The Win-Win Spiral Model For A Project

How To Use The Win-Win Spiral Model For A Project Innovations in Teaching And Learning in Information and Computer Sciences The e-journal of the LTSN-ICS Towards Understanding Software Requirements Capture: Experiences of Professional Students using the

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A Comparison of SOA Methodologies Analysis & Design Phases 202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

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

More information

Hamid Faridani (h.faridani@rogers.com) March 2011

Hamid Faridani (h.faridani@rogers.com) March 2011 Hamid Faridani (h.faridani@rogers.com) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering

More information

Lifecycle Models: Waterfall / Spiral / EVO

Lifecycle Models: Waterfall / Spiral / EVO Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software

More information

Enhanced Funding Requirements: Seven Conditions and Standards

Enhanced Funding Requirements: Seven Conditions and Standards Department of Health and Human Services Centers for Medicare & Medicaid Services Enhanced Funding Requirements: Seven Conditions and Standards Medicaid IT Supplement (MITS-11-01-v1.0) Version 1.0 April

More information

Comparing Plan-Driven and Agile Project Approaches

Comparing Plan-Driven and Agile Project Approaches Comparing Plan-Driven and Agile Project Approaches A Personal Perspective Presented by: Craig D. Wilson Matincor, Inc. Copyright 2006-2010 2010 Outline Introduction to System Development Methodology Contrasting

More information

Overview of the System Engineering Process. Prepared by

Overview of the System Engineering Process. Prepared by Overview of the System Engineering Process Prepared by Ed Ryen, PE Maintenance ITS March 2008 Introduction This document provides a high level look at the Systems Engineering Process for ITS projects.

More information

Surveying and evaluating tools for managing processes for software intensive systems

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

More information

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information