Educating Software Engineers to Become Systems Engineers
|
|
- Aubrey Baldwin
- 8 years ago
- Views:
Transcription
1 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, CA, , USA {koolmano, Abstract Our two-semester USC core software engineering project course CS577ab devotes its first semester to having students learn and do systems engineering on a real-client project. This requires a good deal of just-in-time lectures, tutorials, and homework to prepare the students, and feedback in terms of mentoring, artifact grading, and live milestone reviews to help them succeed. This paper provides some initial motivation and context; discusses our approach to introduce systems engineering into software engineering relative to that in the GSwE 2009 curriculum guidelines, SEBOK draft 2010, and SWEBOK 2004; describes the course practices during the systems engineering and software engineering semesters; and summarizes the project results and conclusions. 1. Introduction The increasing diversity and interdisciplinarity of software development raises an awareness that software engineers need to deal with more than just software, they need to participate in engineering the system, too. In the past, a software engineer could just sit on the side in an architecture-specification meeting and wait for a hardware engineer or a systems engineer to give them precise specifications to code up. This frequently leads to awkward software constraints, and major risks or disasters in software system development [2]. Recent process guidelines and standards such as the Integrated Capability Maturity Model (CMMI) [5], ISO/IEC for software engineering [11] and ISO/IEC for systems engineering [12] emphasize the need to integrate systems and software engineering processes. Various curriculum guidelines, such as SWEBoK 2004 [18], GSwE 2009 [9], and SEBoK draft 2010 [16], show increasing integration between systems and software engineering. In addition, software engineering and systems engineering have many commonalities such as requirements development, design, integration, verification and validation, testing, and maintenance. Hence, software engineers need to play a stronger role in systems engineering. Thus, it is important to inject the concept of systems engineering into software engineering classes. Our two-semester USC core software engineering project course supports this concept by providing lectures, tutorials, assignments, project activities, tools, and feedback from course staff to equip the software engineering students with systems engineering knowledge and experience. Additionally, we use the Incremental Commitment Spiral Model, which is applicable to both systems and software engineering, as the process model. This paper elaborates on how the systems engineering concepts are embedded and embraced in the software engineering class. Section 2 describes the nature of the software engineering class and the system and software process model. Section 3 reports the similarities between systems engineering concepts and the class materials. Section 4 describes how the course staff helps the students to come up the systems engineering learning curve. Section 5 shows feedback from the students and the clients. Section 6 presents the resulting conclusions.
2 2. Background and Related Work 2.1. The MSCS-SE Core Software Engineering Project Course CSCI577ab [6] is the core software engineering project course within the University of Southern California (USC) s Master of Computer Science with Specialization in Software Engineering (MSCS-SE). The main objective of the course is to prepare students for software leadership careers through the 2040 s. Software Engineering I or CSCI577a in the Fall semester focuses on software-intensive systems engineering, including system operational concept formulation, requirements negotiation and definition, prototyping, COTS and services evaluation and selection, system and software architecture definition, life cycle plans and processes, risk analysis, feasibility analysis, and verification and validation. Software Engineering II or CSCI577b in the Spring semester focuses on software product creation, integration, test, documentation, transition, and maintenance with an emphasis on quality software production. Figure 1. Overview of Software Engineering Project Class Milestones. As shown in Figure 1, before the fall semester starts, the course staff reviews the project proposals submitted by potential clients. If the project will not fit into a 2- semester software engineering class, the proposal will be dropped. This is done by the first milestone, the Exploration Commitment Review (ECR). The second milestone is the Valuation Commitment Review (VCR), which will be conducted after the student teams analyze the clients current business processes and explore alternatives. The third milestone is the Foundations Commitment Review (FCR), which evaluates whether the project is feasible and ready to define various project foundations such as the system and software architecture and the project plans. The Development Commitment Review (DCR) is the fourth milestone which evaluates whether the team has built the right foundations, including the detailed architecture and plans for the Development phase. To accommodate the possible client and team changes over the semester break, the fifth milestone, Rebaselined Development Commitment Review (RDCR) is held to confirm that all the success critical stakeholders are committed to the foundations and that the team is ready to implement the product based on the agreed foundations. A Core Capability Drivethrough (CCD) is held after the first development iteration in order to check the usability and completeness of the core functionalities. The Transition Readiness Review (TRR) evaluates whether the team is ready to perform system and software transition. The Operations Commitment Review (OCR) evaluates whether the clients will be able to successfully operate and maintain the system and software.
3 2.2. The Incremental Commitment Spiral Model The Incremental Commitment Spiral Model (ICSM) [4][14] is a refined version of the original spiral process model [1]. ICSM covers the full system development life cycle consisting of five incrementally-defined life cycle phases (Exploration, Valuation, Foundations, Development, and Operations phases). The ICSM, as shown in Figure 2, is not a single one-size-fits-all model but a risk-driven framework for tailoring a process that best fits a project s situation by using the risk-based decision options at the end of each spiral. The ICSM integrally includes software development, and it is currently used as the process model for system development in our software engineering class. Figure 2. Overview of the Incremental Commitment Spiral Model The four underlying principles of the ICSM are: 1) Stakeholder value-based system definition and evolution The project should be developed based on satisfying the value propositions of all successcritical stakeholders. Otherwise, the stakeholders will frequently not commit to their project roles, which will lead to project rejection or major rework. 2) Incremental commitment and accountability Stakeholders do not commit to a single pre-defined set of requirements and resource contributions, but commit incrementally as the nature of the system is better understood. Otherwise, the project often becomes locked into out-of-date concepts of what the system should provide its stakeholders, leading to project rejection or major rework. 3) Concurrent system and software definition and development Contrary to sequential development, the concurrent development of requirements, solutions, hardware, software, and human factors allows the project to move faster, avoid premature commitments, and be more flexible to yield the best results. 4) Evidence and risk-based decision making Making the evidence of project feasibility a first-class deliverable provides a way to synchronize and stabilize the concurrently-defined system elements. Shortfalls in evidence are uncertainties that identify the level of risk of proceeding without stronger evidence of project feasibility.
4 Table 1. Required skills of a systems engineer Key skills of a systems engineer [9] Identifying the success-critical stakeholders Determining key stakeholders value propositions Helping stakeholders collaborate in negotiating a mutually satisfactory set of specifications Adapting the plans and specification in mutually satisfactory ways to respond to changes Managed Problem Solving Engineering Problem Solving Strategic Problem Solving Characteristics of a successful systems engineer [19] Understanding the system from multiple perspectives Understanding the system from multiple perspectives Understanding a new system/concept during its presentation Understanding the system from multiple perspectives Understanding the implications of proposed changes Understanding systems synergy Understanding limits to growth Understanding the systems without getting stuck on the details Understanding analogies and parallelism between systems Understanding the whole system and seeing the big picture Understanding interconnections; closed-loop thinking Thinking creatively Acquiring systems engineering skills through ICSM Practices Students identify success critical stakeholders such as end users, maintainer, and administrator by using CRACK model (Collaborative, Representative, Authorized, Committed, and Knowledgeable ) WinWin negotiation is the key activity for brainstorming stakeholders win conditions and constraints. Added information is drawn from other client interaction activities such as team meetings, prototyping, business process identification, business case analyses, and acceptance test planning Win conditions are used as a starting point in defining a mutually satisfactory set. Moreover, risk analysis, architecture review board, prototypes, life cycle plan, feasibility evidence development are all key ingredients for software engineering teams to exercise this skill. Weekly project plan updates, change and configuration management, verification and validation, and peer review are examples of activities that allow student teams to plan and re-plan according to the project status This skill can be acquired through various project activities such as risk identification and management, quality management, configuration management, team management, project planning and tracking Student teams are required to apply their engineering knowledge to develop a product that will satisfy the clients requirements. Various activities allow student teams to exercise this skill such as operational concept engineering, requirements engineering, system and software architecting, process engineering, and test engineering To tackle the problems, student teams need to set up a strategy to plan, implement, monitor, and solve problems during their project development. This skill can be achieved through win-win negotiation, analysis of alternatives, business case analysis, life cycle planning, and solution development
5 3. Systems Engineering Coverage in the Software Engineering Class 3.1. Systems Engineering Skills and Problem Solving Approach To prepare students for the systems engineering tasks, students need to learn and acquire various skills through practice. Table 1 provides information about ICSM activities that relate to the required systems engineering skills based on GSwE 2009 [9] and characteristics of a successful systems engineer [19] Systems Engineering Roles By taking roles, students obtain first hand experience in learning and internalizing their systems engineering responsibilities and obligations. Table 2 compares twelve systems engineering roles that are suggested by Sheard [17] to the roles in our software engineering class. Please note that, the twelfth role, a classified ads systems engineer, refers to job description of a systems engineer posted in the classified ads, which could represent any tasks or unrelated tasks that are not in the first eleven roles. Table 2 shows that systems engineering roles and software engineering are fairly compatible. However, there are other roles that are not mentioned in [17] system engineering but appear in software engineering projects, such as COTS or Non-Developmental Item (NDI) evaluator and acquirer. On the other hand, with the limitation of the class schedule, students may play only a partial role in coordinating the transition to client logistics/operations, maintenance, and disposal engineering. Table 2. Systems engineering roles Twelve Systems Engineering Roles [16] Requirements Owner System Designer System Analyst Validation/Verification Engineer Logistics/Operational Engineer Glue Among Subsystems Customer Interface Technical Manager Information Manager Process Engineer Coordinator Classified Ads Systems Engineer ICSM Roles Requirements Engineer / WinWin Negotiation Shaper System Architect / Prototyper / UML modeler Operational Concept Engineer/ Feasibility Analyst Verification and Validation Personnel / Tester Life Cycle Planner/ Transition Coordinator Builder Operational Concept Engineer / Project Manager Feasibility Analyst/ Life Cycle Planner / Project Manager Quality Focal Point Life Cycle Planner/ Feasibility Analyst Project Manager/ Life Cycle Planner COTS-NDI Analyst/Business Case Analyst/Trainer
6 3.3. Systems Engineering Activities, Artifacts and supporting tools As part of the system development, with various supporting tools, students have to produce various artifacts, which will allow them to have hands-on experience in developing core-essential industrial type artifacts. Table 3 shows a complete mapping between system engineering activities [8][9] and the project artifacts produced by the team and the supporting tools provided by the class. Table 3. Project artifacts and tools supporting systems engineering activities Systems Engineering Activities [8] [9] Requirements Analysis System Architecture System Implementation Integration & Verification Transition & Validation Use, Support, Disposal Project management Overall Coordination ICSM Project Artifacts Operational Concept Development System and Software Requirements Description WinWin Negotiation Report Prototype Report System and Software Architecture Description UML diagrams Prototype Functioning system Iteration Plan Iteration Assessment Report NDI-Interoperability Report Agile Review Forms Verification and Validation Report Agile Review Forms Transition Plan Training Materials Release Description User Manual Support Plan Regression Test Package Weekly Project Plan Weekly Progress Report Weekly Risk Identification and Analysis Weekly Effort Report Life Cycle Plan Feasibility Evidence Description Support Information Document Support Information Document Executive Summary ICSM Supporting Tools WikiWinwin Tool Benefit Chain Diagram IBM Rational System Architect irise Subversion Development team s choice Bugzilla istudio Bugzilla Development team s choice Microsoft Project DART Effort Reporting System COCOMO II COCOTS ICSM Electronic Process Guide
7 Class lectures, class activities and project activities also help students to prepare themselves for systems and software engineering roles. Table 4 shows that class and project activities provide full coverage on systems engineering activities. The first column represents system engineering life cycle activities. The second column represents the lectures, readings and assignments that are covered in the software engineering class. The last column represents activities that are conducted in the class. Table 4. Systems engineering topics coverage in software engineering class Systems Engineering Activities [9] Requirements Analysis System Architecture System Implementation Integration & Verification Transition & Validation Use, Support, Disposal Project Management ICSM Topics Coverage Operational Concept Development Stakeholder Benefits and Business Case Analysis Requirement Negotiation and Definition NDI and Legacy System Analysis and Tailoring Object Oriented Analysis and Design Concurrent Increment Development and V&V; Nextincrement Rebaselining Design Patterns Object Oriented Development NDI-Interoperability Traceability Matrix Software Testing Quality Management New-System Cutover, Installation, and Training Design-Code Review User Acceptance Test Quality Management System Transition and Support Evolutionary requirements Regression Test Package Cost Estimation Business Case Analysis Project Management, Team Collaboration Project Contracting ICSM Project Activities Coverage WinWin Negotiation Client/Team Meetings Prototyping Requirements Negotiation Tool Training NDI Evaluation Architecture Tool Training System and Software Architecture Workshop Concurrent Engineering Requirements-Design-Code Peer Reviews, V&V Core Capabilities Drive through Requirements-Design-Code Peer Reviews Integrated Independent Verification and Validation (IIV&V) Core Capabilities Drivethrough Integrated Independent Verification and Validation (IIV&V) Cutover and Training Core Capabilities Drivethrough Transition Coordination Cost Estimation Training Project Planning Training Mentoring sessions Architecture Review Board
8 4. Feedback from course staff Feedback enables the students to learn about their status and to improve their performance. As project progresses, student teams will receive feedback from course staff and other stakeholders in many different ways. Architecture Review Board (ARB) ARB is one of the best practices developed by AT&T, and it is a widely used practice in systems engineering [14]. There are 2 ARBs which mark as a milestone review in each semester. At each ARB, student teams show the project feasibility evidence and project progress in the form of the agreed requirements, operational concepts, prototypes, design and architecture, project plan, business case analyses, test cases, test results, risks and mitigation plan, and strengths, weaknesses of the team. Student teams will present all their work in front of the architecture review board, which are course instructors, clients, teaching assistants, graders, and related stakeholders. The two ARBs in each semester can be compared to mid-term and final examinations. The ARB will check their evidence based on the exit criteria of each milestone and provide feedback to the team for future improvement. Mentorship Mentors are PhD students who took software engineering class and perform research in software engineering. Student teams can ask for additional explanation or suggestions on problems they are facing. With peer-like suggestions, students are eager to ask more questions, hence gain more knowledge and experience in their project development. Workshops Besides lectures, there are special workshops on topics that can be learned better in an interactive session. Students are encouraged to bring in their project artifacts, current problems and concerns. Teaching staff provides feedback or extra support. Focus group Outside the class room, teaching assistants organize special sessions for students to speed up the learning curve for certain roles such as system and software architect, shaper, or feasibility analyst. The discussion in the focus group includes case studies, previous project examples, and exception case discussion. Artifact grading Teaching assistants and graders grade project artifacts and homeworks with detailed explanations. Additionally, the teaching assistants and faculty provide feedback on their core capabilities drivethrough and design-code review results. Verification and Validation Personnel Off-campus students are usually full-time employees and generally have more experience in system and software development. Offcampus students take a project V&V role by evaluating the project artifacts and filing defects and concerns in the defect tracking system, and by virtually participating in ARB reviews. Discussion Board - An online discussion board allows students to post their questions and concerns or discuss class-related topics, and get feedback from course staff, team members and classmates. ICSM EPG The Incremental Commitment Spiral Model Electronic Process Guide [10] is a major source of information for the software development guidelines. The ICSM EPG provides information about each role and responsibilities, tasks, work products, practices, checklist, and artifact templates. Student teams can check their progress or their work based on the guidelines and examples provided in the ICSM EPG. 5. Project Results and Feedback from Students and Clients One way to learn whether the project is successful is to look at the feedback from the stakeholders. Two key stakeholders of the real-client project software engineering class are the students themselves and the clients. Based on the feedback from students in their end-ofsemester reflection-in-action individual critiques, the students are largely very satisfied with
9 the knowledge and experiences they learned from the class, but also helpful in identifying future course improvements. With their role-playing responsibilities and real-life clients, they learn how to determine and handle stakeholders wants and needs from hardware, software and peopleware perspectives and translate them into a successfully operating system. Another most important stakeholder is the clients, who closely participate in the whole development life cycle. They learn to give their win conditions, to compromise to gain mutually satisfactory sets of plans and specifications, and to discover new concepts and knowledge about the system. At the end of semester, we ask the clients about their satisfaction on the team performance in various activities. The results, in Table 5, have shown that the clients are overall very satisfied with the team in all system engineering perspectives. Trends are generally upward, but scores vary from year to year based on course content evolution, client satisfaction thresholds, and student preparedness levels. Table 5. Clients' evaluation ( ) Questions Average (Scale of 5) 1. Operational concepts: How well did the team capture your ideas of what the new system should do? Stakeholders' value propositions: Did the team suggest new idea about your project? Did the team support you in any project complexity? Team responsiveness: Was the team responsive to you and to your requirements? Did the team answer any questions you might have had? How successful was the requirements negotiation between you and your team? Project satisfactory: How satisfied are you with the prototype? How well does the proposed system meet the need identified by your project? Project feasibility: Do you think this project should be carried forward for development in CS577b? Has the team adequately identified and managed the potential risks and complications associated with the project? Do you foresee difficulties in transitioning this project into the development and implementation phase? Team communication: How effective was the team in communicating with you? Do you feel you had enough meetings with them? Did the team make effective use of your time and expertise? What means did you use to communicate? Conclusions A successful software engineer should know not only how to engineer software, but also how to participate in engineering the other system elements. The increasing importance of, and rapid changes in information and software technology make systems-oriented software engineers critical to the success of most future system developments. To design a course for them, it is very important to supply the knowledge, improve their skills, and provide experiences for them to be ready to participate in industry projects on day one. Section 3.1 indicates that students can learn the key skills required for a systems engineer from assorted class activities. Section 3.2 shows the compatible mapping between systems engineering roles and software engineering course roles. Section 3.3 presents the match of
10 key systems engineering activities to project artifacts and tools usage in the software engineering class. Section 3.4 provides evidence that knowledge about systems engineering activities is considerably covered by lectures, presentations, and activities in the software engineering class. Section 4 explains how feedback from teaching staff helps students to acquire system engineering and development skills. Section 5 reports the satisfaction feedback about systems engineering elements from the students and the clients. Generally, our USC software engineering course has integrated the concept of systems engineering, both in the lectures, and in student teams project development activities, artifacts, and supporting tools. However, with the limitation of the class schedule that the semester ends slightly after the students deliver their final product, students usually do not have a chance to fully experience system operation, maintenance and disposal, which are also key activities in systems engineering although clients often hire students to help them evolve the systems that they have developed. 6. References [1] Boehm, B., "A Spiral Model of Software Development and Enhancement," IEEE Computer, Volume 21, Issue 5, May 1988, pp [2] Boehm, B., "Unifying Software Engineering and System Engineering," Computer, Volume 3, Number 3, March 2000, pp [3] Boehm, B., "The Future of Software and Systems Engineering Processes," SSCI Member Forum, 2005 [4] Boehm, B. and J.A. Lane, Using the Incremental Commitment Model to Integrate Systems Acquisition, Systems Engineering, and Software Engineering, Cross Talk, October 2007, pp.4-9 [5] Chrissis, M., B., Konrad, M., Shrum, S.: CMMI. Addison Wesley (2003) [6] CSCI577ab Software Engineering Class Website, [7] Dahmann, J., G. Rebovich Jr., J.A. Lane, "Systems Engineering for Capabilities," CrossTalk Journal, Volume 21, Number 11, pp. 4-9 [8] Dahmann, J., G. Rebovich Jr., J.A. Lane, "System Engineering Artifacts for SoS," IEEE Systems 2010 Conference [9] GSwE 2009 curriculum guidelines [10] Instructional ICSM-Software Electronic Process Guide, [11] ISO (International Standards Organization).: Standard for Information Technology Software Life Cycle Processes. ISO/IEC (1995) [12] ISO (International Standards Organization).: Systems Engineering System Life Cycle Processes. ISO/IEC (2002) [13] Klappholtz, D., J. McDonald, A. Pyster, "The Graduate Software Engineering Reference Curriculum (GSwERC)," cseet, pp , nd Conference on Software Engineering Education and Training, 2009 [14] Maranzano, J., et.al, "Architecture Reviews: Practice and Experience," IEEE Software, vol. 22, no. 2, pp , Mar./Apr [15] Pew, R. W. and A.S. Mavor, Human-System Integration in the System Development Process: A New Look. 2007, National Academy Press. [16] SEBoK 2010, Systems Engineering Body of Knowledge Version [17] Sheard, Sarah A. Twelve Systems Engineering Roles, Proceedings of INCOSE, [18] SWEBoK 2004 Guide to the Software Engineering Body of Knowledge [19] Walden, D., Systems Engineering: Fundamental Skills and Why They are Important, Seventeenth Annual Professional Development Seminar, (St. Paul, MN, USA, March, 2010), The Society of Women Engineers Minnesota (SWE MN), 2010.
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 informationUSC's Two Semester Software Engineering Graduate Project Course
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 90089-0781,
More informationA 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 informationSoftware 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 informationThe 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 informationClassical 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 informationSoftware 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 informationA 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 informationSoftware 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 informationSWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
More informationThe 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 informationApplication of software product quality international standards through software development life cycle
Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University
More informationCSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
More informationIncreasingly 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 informationIntroduction 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
More informationModern 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 informationHow 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 informationBalancing 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 informationRecent 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 informationSystem Development Life Cycle Guide
TEXAS DEPARTMENT OF INFORMATION RESOURCES System Development Life Cycle Guide Version 1.1 30 MAY 2008 Version History This and other Framework Extension tools are available on Framework Web site. Release
More informationLifecycle 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 informationRedesigned Framework and Approach for IT Project Management
Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,
More informationAbstract. 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 informationSoftware Development Process Selection Approaches
The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department
More informationKeywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.
Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparative Analysis
More informationCS4507 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 informationImpact 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 informationSoftware 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 informationAn Evidence-Based Systems Engineering (SE) Data Item Description
Available online at www.sciencedirect.com Procedia Computer Science 16 (2013 ) 898 907 Conference on Syst Eds.: C.J.J. Paredis, C. Bishop, D. Bodner, Georgia Institute of Technology, Atlanta, GA, March
More informationLife Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
More informationA 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 informationYour Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
More informationValue-Based Processes for COTS-Based Applications
focus cots integration Value-Based Processes for -Based Applications Ye Yang, Jesal Bhuta, and Barry Boehm, University of Southern California Daniel N. Port, University of Hawaii -based applications pose
More informationSoftware 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 informationTo 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 informationJOURNAL 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 informationProcess 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
More informationA Software Development Process for Small Projects. Melissa L. Russ and John D. McGregor, Korson-McGregor, A Software Technology Company
focus SE in the small A Software Development Process for Small Projects The authors development process integrates portions of an iterative, incremental process model with a quality assurance process and
More informationWhat 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
More informationIntroduction 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 informationLecture 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
More informationSoftware Development Process
Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software
More informationSelecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
More informationVAIL-Plant Asset Integrity Management System. Software Development Process
VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15
More informationSoftware Configuration Management Plan
For Database Applications Document ID: Version: 2.0c Planning Installation & Acceptance Integration & Test Requirements Definition Design Development 1 / 22 Copyright 2000-2005 Digital Publications LLC.
More informationLecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction
Lecture Slides for Managing and Leading Software Projects Chapter 1: Introduction developed by Richard E. (Dick) Fairley, Ph.D. to accompany the text Managing and Leading Software Projects published by
More informationThe Rap on RUP : An Introduction to the Rational Unified Process
The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: jeff@jeffreyjacobs.com http://www.jeffreyjacobs.com Survey Does your
More informationEnterprise Test Management Standards
Enterprise Test Management Standards Version 4.0 09/28/2012 Document Number: FSA_TOADG_STDS_TEST.TMS_001 Document Version Control This section summarizes this document revision history. Each entry includes
More informationUsing Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
More informationAn Assessment between Software Development Life Cycle Models of Software Engineering
International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering
More informationThe 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 informationSome Critical Success Factors for Industrial/Academic Collaboration in Empirical Software Engineering
Some Critical Success Factors for Industrial/Academic Collaboration in Empirical Software Engineering Barry Boehm, USC (in collaboration with Vic Basili) EASE Project Workshop November 7, 2003 11/7/03
More informationIn this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
More informationHow 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 informationSoftware 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 informationInformation 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
More informationA 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
More informationISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of
More informationCost Estimation for Secure Software & Systems
Background Cost Estimation for Secure Software & Systems Ed Colbert Dr. Barry Boehm Center for Systems & Software Engineering, University of Southern California, 941 W. 37th Pl., Sal 328, Los Angeles,
More informationProgram Lifecycle Methodology Version 1.7
Version 1.7 March 30, 2011 REVISION HISTORY VERSION NO. DATE DESCRIPTION AUTHOR 1.0 Initial Draft Hkelley 1.2 10/22/08 Updated with feedback Hkelley 1.3 1/7/2009 Copy edited Kevans 1.4 4/22/2010 Updated
More informationCOMP 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 informationCS 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 informationREVIEW 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 informationThe Role of Information Technology Studies in Software Product Quality Improvement
The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department
More informationASSESSMENT 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
More informationSurveying 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 informationThe 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 informationTime 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 informationSoftware 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 informationTRADITIONAL 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 informationCHAPTER_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
More informationBasic 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 informationThe Spiral development model is a risk-driven process model generator. It
1.1 Methodology Research 1.1.1 Spiral Model The Spiral development model is a risk-driven process model generator. It is used to guide multi-stakeholder concurrent engineering of software-intensive systems.
More informationLecture 8. Systems engineering L E C T U R E. SIMILAR process. Zuzana Bělinová. Faculty of Transportation Sciences, CTU in Prague
L E C T U R E 8 SIMILAR process LECTURE 8 - OVERVIEW Theoretical foundations of many methodologies - Typical SE process SYSTEMS ENGINEERING BASIC FACTS Systems Engineering is responsible for creating a
More informationManaging 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 informationCONTENTS Preface xv 1 Introduction
Preface xv 1 Introduction 1 1.1 Introduction to Software Project Management, 1 1.2 Objectives of This Chapter, 2 1.3 Why Managing and Leading Software Projects Is Difficult, 2 1.3.1 Software Complexity,
More informationSystems 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 informationSE464/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 informationA Comparison Between Five Models Of Software Engineering
94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,
More informationCHAPTER. 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
More informationMaster of Business Administration
Four business-critical themes are central to Curry College s Master in Business Administration (MBA). The unique framework for the model of business excellence integrates: I. Leadership and Ethics II.
More informationDevelopment 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 informationKnowledge-Based Systems Engineering Risk Assessment
Knowledge-Based Systems Engineering Risk Assessment Raymond Madachy, Ricardo Valerdi University of Southern California - Center for Systems and Software Engineering Massachusetts Institute of Technology
More informationPROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > Date of Issue: < date > Document Revision #: < version # > Project Manager: < name > Project Management Plan < Insert Project Name > Revision History Name
More informationMany 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 informationSoftware 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,
More informationSoftware Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
More information(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
More informationSoftware 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 informationIOM433 Creative Information Systems Analysis and Design Spring 2006 T/Th 2-3:50 HOH406 (Labs meet in HOH401)
IOM433 Creative Information Systems Analysis and Design Spring 2006 T/Th 2-3:50 HOH406 (Labs meet in HOH401) Faculty: Ann Majchrzak Phone: 213-740-4023 Email: majchrza@usc.edu Office: HOH 400E Office Hours:
More informationEvaluation and Integration of Risk Management in CMMI and ISO/IEC 15504
Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Dipak Surie, Email : ens03dse@cs.umu.se Computing Science Department Umea University, Umea, Sweden Abstract. During software development,
More informationSyllabus. REQB Certified Professional for Requirements Engineering. Foundation Level
Syllabus REQB Certified Professional for Requirements Engineering Version 2.1 2014 The copyright to this edition of the syllabus in all languages is held by the Global Association for Software Quality,
More information2/25/2012. [5] http://www.segvn.org/forum
MSc. NguyễnThị Thu Trang, trangntt@soict.hut.edu.vn http://soict.hut.edu.vn/~trangntt Department of Software Engineering [1] ISO/IEC FDIS 12207, Systems and software engineering Software life cycle processes.
More informationSoftware Engineering and Quality Assurance Comparison of Tools and Techniques used by Universities
Proceedings of Student/Faculty Research Day, CSIS, Pace University, May 5 th, 2006 Software Engineering and Quality Assurance Comparison of Tools and Techniques used by Universities Srinivas Vittal, Raghuvarma
More informationSoftware 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 informationAutomated Software Testing Economics: A White Paper
Automated Software Testing Economics: A White Paper Contents Automated Software Testing Economics 1 Automated Software Testing Case Study 2 Benefits of Automated Software Testing 4 About Master Key Consulting
More informationA. 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 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an
More informationSoftware Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti
Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
More informationManagement. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York
Software Project Management A Process-Driven Approach Ashfaque Ahmed CRC Press Taylor Si Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business
More informationCertified Software Quality Engineer (CSQE) Body of Knowledge
Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions
More information