1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.

Slides:



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

Unit 2. Software Lifecycle
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
More CMM Part Two : Details.
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.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
CMMI Overview Quality Frameworks.
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.
Quality Concepts within CMM and PMI G.C.Reddy
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.
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.
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
CMMI Overview Quality Frameworks. Slide 2 of 146 Outline Introduction High level overview of CMMI Questions and comments.
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.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
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.
WE ARE HERE!.
School of Business Administration
CS4311 Spring 2011 Process Improvement Dr
CMMI Overview Quality Frameworks.
Software Processes (a)
Information Technology Project Management – Fifth Edition
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
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 2 Process Models
Chapter 2 Process Models
Capability Maturity Model
Chapter 4: Software Process Models
Presentation transcript:

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

2 Review Case Study 1 Functional Requirements Quiz Chapters 1-3 Chapter 4 Software Process Models Start Mini-Project 1 – create schedule in MS Visio Quiz 1

3

4

5 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).software engineeringsystems engineeringsystemsoftware 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 ", while non-functional requirements are "system shall be ".use casesnon-functional requirements

6

7

8

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

12 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

13 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

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

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.

21 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

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

23 This is a start – there will be several subordinate tasks

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

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

26 7. What are the 4 phases of Rational Unified Process? Ans: The four phases are: inception elaboration construction transition Page: List all of the key processes addressed by SEI’s CMM model. Which ones are required for maturity level 2? Ans: Page: 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

27 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