Requirements Analysis

Slides:



Advertisements
Similar presentations
“Systems” ILS, DAMS, and other Acronyms Week 12 LBSC 690 Information Technology.
Advertisements

Requirement Analysis Week 10 INFM 603. Agenda Systems analysis –Required for complex multi-person tasks User-centered design –Multiple stakeholders complicate.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Ch 12: Object-Oriented Analysis
Introduction To System Analysis and Design
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Structured Programming and UML Overview Session 2 LBSC 790 / INFM 718B Building the Human-Computer Interface.
The System Life Cycle Week 12 LBSC 690 Information Technology.
© Copyright Eliyahu Brutman Programming Techniques Course.
Modular Programming and Use Case Models Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Library Automation and Digital Libraries Class #5 LBSC 690 Information Technology.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
Software Engineering Week 12 INFM 603. The System Life Cycle Systems analysis –How do we know what kind of system to build? User-centered design –How.
Distributed Teams Week 13 INFM 603. Agenda Distributed teams Project presentation prep Final exam prep.
Introduction To System Analysis and Design
Requirements Analysis Session 12 INFM 603. Different Perspectives on Design Thanks to Satish Mishra.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Requirements Analysis Session 12 INFM 603. The System Life Cycle Systems analysis –How do we know what kind of system to build? User-centered design –How.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
UML Use Case Models and Modular Programming Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.
System Analysis and Library Automation
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
UML (Unified Modeling Language)
Prof. Hany H. Ammar, CSEE, WVU, and
UML - Development Process 1 Software Development Process Using UML.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Public Management Information Systems System Analysis & Design Saturday, June 11, 2016 Hun Myoung Park, Ph.D. Public Management & Policy Analysis Program.
CompSci 280 S Introduction to Software Development
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis Classes Unit 5.
Software Architecture
UML Diagrams By Daniel Damaris Novarianto S..
Constructing Deploying and Maintaining Enterprise Systems
Information Systems Development
Chapter 1: Introduction to Systems Analysis and Design
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Software Architecture
UML Diagrams Jung Woo.
UML: Unified modeling language
Introduction To System Analysis and Design PART 2
Unified Modeling Language
Object oriented analysis and design
Appendix A Object-Oriented Analysis and Design
CS310 Software Engineering Dr.Doaa Sami
Chapter 1: Introduction to Systems Analysis and Design
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Use Case Analysis – continued
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Design.
Software Development Process Using UML Recap
Public Management Information Systems System Analysis Thursday, August 01, 2019 Hun Myoung Park, Ph.D. Public Management & Policy Analysis Program Graduate.
Software Architecture
Presentation transcript:

Requirements Analysis Session 12 INFM 603

Different Perspectives on Design Thanks to Satish Mishra

The System Life Cycle Systems analysis User-centered design How do we know what kind of system to build? User-centered design How do we discern and satisfy user needs? Implementation How do we build it? Management How do we use it? 3

Systems Analysis First steps: Then identify the information flows Understand the task Limitations of existing approaches Understand the environment Structure of the industry, feasibility study Then identify the information flows e.g., Serials use impacts cancellation policy Then design a solution And test it against the real need 4

What are Requirements? Attributes Behavior Appearance Concepts (represented by data) Behavior What it does How you control it How you observe the results

Types of Requirements User-centered System-centered Functionality Availability Mean Time Between Failures (MTBF) Mean Time To Repair (MTTR) Capacity Number of users for each application Response time Flexibility Upgrade path 9

Who Sets the Requirements? People who need the task done (customers) People that will operate the system (users) People who use the system’s outputs People who provide the system’s inputs Whoever pays for it (sponsor)

The Waterfall Model Requirements Specification Software Test Plan

Agile Methods Specification Release Implementation Requirements Establishment Experience

The Requirements Interview Focus the discussion on the task Look for objects that are mentioned Discuss the system’s most important effects Displays, reports, data storage, device control, … Learn where the system’s inputs come from People, stored data, devices, … Note any data that is mentioned Try to understand the structure of the data Shoot for the big picture, not every detail

Analyze the Information Flows Where does information originate? Might come from multiple sources Feedback loops may have no identifiable source Which parts should be automated? Some things are easier to do without computers Which automated parts should be integrated? What existing systems are involved? What information do they contain? Which systems should be retained? What data will require “retrospective conversion”? 7

Interaction Modality Choices Interactive Do it while the user is present Batch processing Save it up and do it all at once

Unified Modeling Language Real systems are more complex than anyone can comprehend Key idea: Progressive refinement Carve the problem into pieces Carve each piece into smaller pieces When the pieces are small enough, code them UML provides a formalism for doing this But it does not provide the process

Unified Modeling Language

Specifying Structure Capturing the big picture Use case diagram (interactions with the world) Narrative Scenarios (examples to provoke thinking) Designing the object structure Class diagram (“entity-relationship” diagram) Object diagram (used to show examples)

Specifying Behavior Represent a candidate workflow Activity diagram (a “flowchart”) Represent object interactions for a scenario Collaboration diagram (object-based depiction) Sequence diagram (time-based depiction) Represent event-object interactions Statechart diagram (a “finite state machine”)

Use Case Design Use Case Diagram Use Case Narrative Use Case Scenario Input-output behavior Use Case Narrative Explains each use case Use Case Scenario Activity diagram shows how the use cases are used together

Use Case Diagram

Use Case Diagram External “actors” Use cases Roles of people Types of systems Use cases Top-level functions (solid arrows to/from actors) Relationships among use cases Always-depends-on (dashed <<include>>) Sometimes-is-depended-on (dashed <<extend>>) Inherits-from (solid triangle-arrow)

Activity Diagram: Modeling Decisions Thanks to Satish Mishra

Thanks to Satish Mishra Sequence Diagram Activation Message Thanks to Satish Mishra

Good Uses for UML Focusing your attention Design from the outside in Representing partial understanding Says what you know, silent otherwise Validate that understanding Structuring communication with stakeholders

Avoiding UML Pitfalls Don’t sweat the notation too much The key is to be clear about what you mean! Don’t try to make massive conceptual leaps Leverage abstraction encapsulation Don’t get to attached to your first design Goal is to find weaknesses in your understanding

Total Cost of Ownership Planning Installation Facilities, hardware, software, integration, migration, disruption Training System staff, operations staff, end users Operations System staff, support contracts, outages, recovery, … 13 24

Management Issues Policy Training Operations Planning Privacy, access control, appropriate use, … Training System staff, organization staff, “end users” Operations Fault detection and response Backup and disaster recovery Audit Cost control (system staff, periodic upgrades, …) Planning Capacity assessment, predictive reliability, … 13

Strategic Choices Acquisition Implementation Proprietary (“COTS”) Open source Implementation Integrate “Best-of-breed” systems “One-off” custom solution 4 26

Open Source “Pros” More eyes  fewer bugs Iterative releases  rapid bug fixes Rich community  more ideas Coders, testers, debuggers, users Distributed by developers  truth in advertising Open data formats  Easier integration Standardized licenses

Open Source “Cons” Communities require incentives Much open source development is underwritten Developers are calling the shots Can result in feature explosion Proliferation of “orphans” Diffused accountability Who would you sue? Fragmentation “Forking” may lead to competing versions Little control over schedule

Open Source Business Models Support Sellers Loss Leader Widget Frosting Accessorizing Sell distribution, branding, and after-sale services. Give away the software to make a market for proprietary software. If you’re in the hardware business, giving away software doesn’t hurt. Sell accessories: books, compatible hardware, complete systems with pre-installed software

Total Cost of Ownership

Summary Systems analysis User-centered design Implementation Required for complex multi-person tasks User-centered design Multiple stakeholders complicate the process Implementation Architecture, open standards, … Management Typically the biggest cost driver 14