1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.

Slides:



Advertisements
Similar presentations
Requirements Specification and Management
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Requirements to Design Chapter 6. Moving from “lots of Requirements” to “organized Product Design” Product Design ? User/Market/Business “Requirements”
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Use-case Modeling.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Systems Development Life Cycle
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
The Software Development Life Cycle: An Overview
Lecture Outline 11 The Development of Information Systems Chapter 8 page 390+
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Chapter 6 Requirements Engineering. Preparation for Requirements Engineering Plan For Requirements Activities Agreeing on resources, methodology and schedule.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Chapter 10 Information Systems Analysis and Design
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Software Requirements Engineering: What, Why, Who, When, and How
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 7 Applying UML and Patterns Craig Larman
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
Prof. Hany H. Ammar, CSEE, WVU, and
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
Use Case, Component and Deployment Diagrams University of Sunderland.
Defining and Managing Project Scope. MOV Scope Phases Time Estimates Resources Tasks Schedule Budget Sequence Project Planning Framework.
1 Week 5 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
1 Week 1 Introduction, Writing a Program, Building a System Software Engineering Fall Term 2015 Marymount University School of Business Administration.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Ch. 6 Requirements Engineering
Chapter 1 The Systems Development Environment
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 1 The Systems Development Environment
School of Business Administration
School of Business Administration
School of Business Administration
Unified Modeling Language
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
PART II EMERGING SOFTWARE ENGINEERING PLUS REQUIREMENTS & DESIGN
Chapter 1 The Systems Development Environment
WE ARE HERE!.
Requirements Analysis
IMPORTANT NOTICE TO STUDENTS:
Lecture # 7 System Requirements
Chapter 1 The Systems Development Environment
Software Development Process Using UML Recap
Chapter 6: Requirements Engineering
Presentation transcript:

1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam

2 MP1 Observations/Discussion Use Case Review/Summary Chapter 6 Requirements Case Study 2 Discussion

3

4

5

6

7

8

9

10

11

12

13 Clear requirements are needed for design and implementation activities. Requirements documentation is needed to: create test cases and test scenarios especially for large systems where the test team is a separate group of people from the developers. control potential scope-creep. create user training material, marketing material, and documents for support and maintenance. provide a way to segment a large project, prioritize releases, and easier project management

14 Requirements: May be given to the software engineers Initial product/system requirements For second and/or third follow-on release of a “planned” sequences of software product where a preliminary set of requirements are already established Requirements provided as a part of a request for price quotation for a software development project Have to be established by software engineers Users sometimes have an understanding of only the requirements related to their specific job tasks The business rationale and goals are not always clear to individual user and needs to be established for prioritization reason There may be contradicting and incomplete requirements stated by the users and customers

15

17 Requirements “analysis” is composed of: Categorizing the requirements (by some criteria) Prioritizing the requirements Most High Level: Functional Non-functional Other more detailed grouping also exist 6 dimensions of requirements

18 View Oriented Requirements Definition (VORD) is based on the concept that requirements are viewed differently by different people: Identify stakeholders and their viewpoints of the requirements Categorize the viewpoints of requirements and eliminating any duplication (look for consistency & completeness) Refine the identified viewpoints of requirements Map the viewpoints of requirements to the system and the services that the system must provide

19 Most of the time we have some limitations in developing software: Time Resources Technical capabilities (existing) We need to prioritize the requirements to satisfy these limitations Some Criteria for prioritization: Current user/customer demands or needs Competition and current market condition Anticipated future and new customer needs Sales advantages Existing critical problems in current product These are often subjective and requirements should be prioritized with the help of many of the stakeholders (different viewpoints).

Requirements Prioritization Req 1 = 1.62 / 3 = 54% Req 2 =.89 / 3 = 30% Req 3 =.49 / 3 = 16%

21 Once the requirements are solicited, analyzed and prioritized, more details may/must be spelled out. Three major activities which may be intertwined must be performed: Requirements definition Requirements prototyping Requirements reviewing

22 Requirements definitions may be written in different forms: 1.Simple Input/Process/Output (I-P-U) descriptions in English 2.Dataflow diagrams (DFD) 3.Entity Relations diagram (ERD) 4.Use Case Diagram from Unified Modeling Language (UML) Once the requirements are defined in detail using any of the above forms, they still need to be reviewed (see chapter 10 of your textbook) by the users/customers and other stakeholders. Formal Review by Others

English I/P/O : functionality, business and data flow

Captures - relations among data

27 Using Object Oriented (OO) Use Case Methodology and Notation, which identifies: Basic/Main functionalities Pre-conditions of functionality Flow of events or scenarios Post-conditions for the functionality Error conditions and alternative flows Using OO Use Case Diagram which identifies: Actors (or all external interfaces with the system, including the users) Related “use cases” (major functionalities) Boundary conditions

28 Capability to trace a requirements is needed to ensure that the product has fully implemented the requirements. (while not part of requirements process activities – it needs to be started early) We need to trace requirements: Requirements from source (people and documents) Requirements to later steps (design, implementation, test, & release) We also need to link requirements to other “pre-requisite” requirements.

29 Requirements prototyping mostly address the User Interface (UI) part of the requirement in terms of: Visual looks (size, shape, position, color) Flow (control and logical flow; depth of flow) The prototyping may be performed in one of the two modes: Low fidelity : using paper/cardboard to represent screens and human to move the boards High fidelity : using automated tools such as Visual Basic to code the screens and direct the logical flow of these screens

30 Once the requirements are defined, prototyped and reviewed, it must be placed into a Requirements Specification document IEEE /EIA Standard outlines the guide for 3 major sections of a requirements specification document. Introduction High Level description Detailed descriptions o Details of each functionality (input-out-process) o Interfaces, including user interfaces and network interfaces o Performance requirements (response time, throughput, etc.) o Design constraints, standards, etc. o Additional attributes such as security, reliability, etc. o Any additional unique requirements Requirements Signoff -- Having a requirements specification agreed to and signed off is important: Serves as a milestone marker and formally exits a phase of software of engineering Serves as baseline from which any future changes can be monitored and controlled

31 Having a requirements specification agreed to and signed off is important: Serves as a milestone marker and formally exits a phase of software of engineering Serves as baseline from which any future changes can be monitored and controlled

32 Review Questions