School of Business Administration

Slides:



Advertisements
Similar presentations
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 2 Process Models
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Integrated Capability Maturity Model (CMMI)
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Software Process Models
Project Life Cycles.
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Engineering - I
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Systems Analysis and Design in a Changing World, Fourth Edition
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Process: A Generic View
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
An Introduction. Objective - Understand the difference between CMM & CMMI - Understand the Structure of CMMI.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
MSA Orientation – v203a 1 What’s RIGHT with the CMMI?!? Pat O’Toole
1 Week 3 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Certification: CMMI Emerson Murphy-Hill. Capability Maturity Model Integration (CMMI) Creation of the Software Engineering Institute (SEI) at Carnegie.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Chapter 4 Review of Software Process Models Please answer the seven Blue Questions in the following slides. Bring the answers to class on Monday June 13.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
TK2023 Object-Oriented Software Engineering
WE ARE HERE!.
State of Michigan Achieving Software Process Improvement with
CS4311 Spring 2011 Process Improvement Dr
CMMI Overview Quality Frameworks.
Software Processes (a)
PART I CLASSICAL SOFTWARE ENGINEERING
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
PART I CLASSICAL SOFTWARE ENGINEERING
CMMI Overview.
CMMI – Staged Representation
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Rational Unified Process
Chapter 2 – Software Processes
Chapter 2 Process Models
Chapter 2 Process Models
Chapter 2 Process Models
Software Engineering Lecture 16.
Software Engineering I
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Capability Maturity Model
Chapter 2 Process Models.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 4 Process Models
Chapter 2 Process Models
Chapter 2 Process Models
Capability Maturity Model
Requirements Development in CMMI
Chapter 4: Software Process Models
Presentation transcript:

School of Business Administration Software Engineering Spring Term 2017 Marymount University School of Business Administration Professor Suydam Week 3

Agenda for Week 3 Review Case Study 1 Team Discussions on Case Study Functional Requirements Quiz Review Chapters 1-3 Chapter 4 Software Process Models Start Mini-Project 1 – create schedule in MS Visio Quiz 1

Case Study 1 / Mini-Project 1 – Grading and Comments

Requirements Gathering

Functional Requirements

Non-Functional Requirements

Functional Requirements In software engineering (and systems engineering), a functional requirement defines a function of a system and its components. A function is described as a set of inputs, the behavior, and outputs (see also software). Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish. Behavioral requirements describing all the cases where the system uses the functional requirements are captured in use cases. Functional requirements are supported by non-functional requirements (also known as quality requirements), which impose constraints on the design or implementation (such as performance requirements, security, or reliability). Generally, functional requirements are expressed in the form "system must do <requirement>", while non-functional requirements are "system shall be <requirement>".

Week 3 Chapter 4

Chapter 4 Objectives

Chapter 4 Review Questions

What is a Process Model ? It is a description of : what tasks need to be performed in what sequence under what conditions by whom to achieve the “desired results.”

Do we need a process if the project requires just 1 person or at most two people? Why? -- Why not ?

A “Simple and Familiar” Process

Extending the “Simple” Process As projects got larger and more complex. (earlier, we introduced “simplification”, “better tools”, & “process”) Needed to clarify and stabilize the requirements Needed to test more functionalities Needed to design more carefully Needed to use more existing software & tools Database Network Code control Needed more people to be involved

With More People and More Tasks We now need to “Define”: the set of tasks that need to be performed the sequence of flow of the tasks the input and the output from these tasks the pre-condition and post-conditions for each task The people & skills needed to perform the tasks

Some “traditional” software development processes The earlier “simple” process was employed by many for years without formally embracing other important development activities such as requirements analysis, design, formal testing, or packaging. The recognition of the need for formal processes was initially driven by failures in developing large complex software --- (later shown by Chaos reports) Waterfall : earliest process and coping with no process Incremental : coping with decomposing the large systems Spiral : coping with risk management Rational Unified Process : coping with different task and managing through project phases

Waterfall Model

Incremental Model

Multiple-Release Incremental Model

Spiral Model

Rational Unified Process Model

Entry and Exit Criteria In order for process models to be more than just a “guideline,” it must include a list of conditions or requirements that define the: - entry criteria prior to performing an activity in a process. - exit criteria before an activity in the process is deemed completed.

Assessment of Software Organizations Software Development and Software Support may be done with very little process or with very sophisticated, well defined, well organized and well executed processes. How mature is your software engineering organization and do you need to improve? ISO (ISO 9000 series) and SEI (Software Engineering Institute at Carnegie Mellon) are two leading organizations that help in the process assessment

Software Engineering Institute (SEI) CMM In 2001, CMM was upgraded to CMMI (CMM Integrated). Started with multiple, major aspects to CMMI: Systems engineering Software engineering Integrated product and process development Supplier sourcing

Mini-Projects Schedule – Preliminary Project Plan in Visio This is a start – there will be several subordinate tasks

Chapter 4 Review Questions  1. Discuss one advantage and one disadvantage of the waterfall process. Ans: An advantage is that it provided a clear way to track the stages of development for the project managers. A disadvantage is that it provided very little task overlapping, is sequential, and is single iteration. Page: 59-60   2. What is the goal of a software process model? Ans: Goal of software process model is to provide guidance for a systematic way to coordinate and control the tasks that must be performed in order to achieve the end software product and the associated software project objectives. Page: 58-59 3. What are the four quadrants in a spiral model? Trace the requirements set of activities through each quadrant. Ans: The four quadrants are i) plan next phase, ii) determine objectives, alternatives, and constraints, iii) evaluate alternatives, identify and resolve risks, and iv) develop, verify next level product The requirement plan is done during the i) plan next phase and ii) determine objectives phase. The requirements prototype is done during the iii) evaluate alternatives phase. The requirements specification is done during the iv) develop next-level product phase. Page: 63 

Chapter 4 Review Questions 4. What is an entry and exit criteria to a process?   Ans: Entry criteria describe and list all the conditions and material that must be met prior to starting a process or an activity. Exit criteria describe and list all the conditions and material that must be met prior to terminating a process or an activity. Page: 68-69 5. What motivated the software engineers to move from the waterfall model to incremental or spiral model? Ans: The need to develop multiple components, to overlap the development, and to be more evolutionary lead to incremental process and spiral process. Also, the need to be more risk-averse led to the spiral model. Page: 63-64 6. What are the major concepts that drove the Rational Unified Process framework? Ans: It is a process framework that promotes iterative and incremental development. Every activity of product development (e.g. requirements or design) goes through several phases. Page: 64-65

Chapter 4 Review Questions 7. What are the 4 phases of Rational Unified Process?   Ans: The four phases are: inception elaboration construction transition Page: 65 8. List all of the key processes addressed by SEI’s CMM model. Which ones are required for maturity level 2? Ans: Page: 71-72 Level 2: Requirements Management Software Project Tracking & Oversight Software Quality Assurance Software Project Planning Subcontract Management Software Configuration Management Level 3: Organization Process Focus Training Program Software Product Engineering Peer Reviews Organization Process Definition Integrated Software Management Intergroup Coordination Level 4: Quantitative Process Management Software Quality Management Level 5: Defect Prevention Technology Change Management Process Change Management

Chapter 4 Review Questions 9. How many process areas, in total, are included in SEI’s Software CMMI? List those that fall into the engineering category and the support category. Ans: There are a total of 25 process areas in CMMI. Those that fall into the Engineering category are: Requirements Development Requirements Management Technical Solution Product Integration Verification Validation Those that fall into the Support category are: Configuration Management Process and Product Quality Assurance Measurement and Analysis Organizational Environment for Integration Decision Analysis and Resolution Causal Analysis and Resolution Page: 73