I494: Designing and Developing an Information System

Slides:



Advertisements
Similar presentations
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Advertisements

CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Unit Five – Transforming Organizations
Rose-Hulman Institute of Technology Sriram Mohan 18.September.2008 CSSE 497 Requirements Review.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Project Plan Development
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
1 CMPT 275 Software Engineering Software life cycle.
Introduction to SDLC: System Development Life Cycle Dr. Dania Bilal IS 582 Spring 2009.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
ITEC 3220M Using and Designing Database Systems
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IT Requirements Management Balancing Needs and Expectations.
Chapter 7 Applying UML and Patterns -Craig Larman
Approaching a Problem Where do we start? How do we proceed?
Chapter 7 Applying UML and Patterns Craig Larman
Lecture 7: Requirements Engineering
1 Final Status Report Sonali PagadeNibha Dhagat David Ziman Reginald Bradshaw II Sebastian Schagerer Janet Xu Phan Marvel Electronics & Home Entertainment.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
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.
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
 System Requirement Specification and System Planning.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Is 581 assist Inspiring Minds/is581assistdotcom FOR MORE CLASSES VISIT
Use Case Analysis Chapter 6.
Investigating System Requirements
Methodologies and Algorithms
Welcome to M301 P2 Software Systems & their Development
Business (Agency) Process Discovery and Documentation Workshop
Exam 0 review CS 360 Lecture 8.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
Requirements Analysis Scenes
Transforming Organizations
Topic for Presentaion-2
I494: Designing and Developing an Information System
TechStambha PMP Certification Training
Systems Analysis and Design
Software Process Models
IS442 Information Systems Engineering
I494: Designing and Developing an Information System
Software Requirements analysis & specifications
CS 790M Project preparation (I)
I494: Designing and Developing an Information System
Requirements Analysis
Version: Date: Project title Give your project a title that makes it easy to understand what the purpose is with the project Sponsor/Champion: Black Belt:
The Role of Prototyping
Software Process Models
Requirements Very High level specification of what system should do
Lecture # 7 System Requirements
Applied Software Project Management
Chapter 4 After Green Light
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

I494: Designing and Developing an Information System Week 5 September 23, 2013

Please sit together with your team today

Outline Admin Task Management Estimation

Practice on Wednesday Keep an eye on your email about where to go on Wednesday! Practice activities this week: Start figuring out exactly what features/functionality your project will contain Start gathering requirements!

Proposal Issues Vagueness about the problem or solution Define both the problem and solution in order to establish scope. Why are you choosing that particular technology? If your system needs constant data, what is the source? Who will maintain that flow? Feasibility

Upcoming Assignments Individual Team Formation Report Due every Friday by 5pm until you are in a fully-formed team Team Project Proposal Due Tuesday, September 24th by 5pm One submission per team Team Project Research Report Due Tuesday, October 1st by noon Team Prioritized Feature List Due Tuesday, October 8th by 5pm Tomorrow! Next Week

Research Paper Rubric Research: 50% Style: 20% Risks: 10% Feasibility/Platform/Client/Business Case: 20%

Admin Potential Research Report Tactics: Look at websites for similar technologies and create a matrix for features/cost/etc. Research the topic in a traditional fashion. Create a survey and gather data. Do usability studies of existing products Conduct focus groups

BEST Social Mixer Win $100,000 or more to start your own Internet, software or technology business through the Building Entrepreneurs in Software and Technology (BEST) competition. Come to the BEST social mixer to: learn more about the competition start planning how to best present your start-up company meet other students who want to participate in the competition find teammates to round out your team  Friday, October 4 from 12 – 2 pm in the Informatics West Lobby Pizza will be provided  Please RSVP by completing this form by September 27: http://bit.ly/12h2A4q.  Learn more about BEST at http://www.best.indiana.edu.

Requirements

Classic Waterfall The Problem Concept Requirements Design Construct Test Deploy

Classic Waterfall The Problem What we need to do to solve the problem Concept What we need to do to solve the problem Requirements Design Construct Test Deploy

Classic Waterfall The Problem Concept What we need to do to solve the problem Requirements How we will solve the problem Design Construct Test Deploy

Classic Waterfall The Problem Concept What we need to do to solve the problem Requirements How we will solve the problem Design Build the solution Construct Test Deploy

Classic Waterfall The Problem Concept What we need to do to solve the problem Requirements How we will solve the problem Design Build the solution Construct Test Deploy Verify that we have solved the problem

Classic Waterfall The Problem Concept What we need to do to solve the problem Requirements How we will solve the problem Design Build the solution Construct Test Deploy Verify that we have solved the problem Problem solved

Classic Waterfall Concept Requirements Design Construct Test Deploy

What are Requirements? “Requirements are…a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system.” -Sommerville and Sawyer, 1997

Exercise Think about your project. As an individual without communicating with your teammates: Take out a piece of paper and draw a picture of how you envision your project will look. This can be: A sketch of the website or interface A diagram showing how the system works

Exercise Now as a project team: Compare your sketches. Notice Are they similar? Different?

What Happens when… …we try to build a new building without a blueprint?

What Happens when… …we code an assignment before we think about how to do it?

Capstone Mantra “Plan the work, then work the plan”

What are Requirements? As complete a plan for building your system as it is feasible to create! More time spent gathering and specifying requirements results in much less time spent developing and testing. 40-60% of all defects in software products can be directly attributed to errors in the requirements phase.

Types of Requirements Functional Specifies the software functionality that must be built “The system must…” Often grouped around features NonFunctional Quality attributes “user-friendly” Constraints Performance goals Business rules

Requirements Business Requirements High-level objectives of the client Why the system is being built Vision and scope document User Requirements Defines user goals or tasks Business rules Not a software requirement per se, but impacts requirements Regulations, policies, etc

Requirements Qualitative vs Quantitative

Requirements Lifecycle Elicitation Analysis Specification Verification

Ways to Elicit Requirements

Ways to Elicit Requirements Interviews Observation Study the “As is” situation Surveys Research Prototype Brainstorming

“ilities” Usability Maintainability Flexibility Testability Scalability Availability Extensibility Security Portability Compatibility Backwards Compatibility Interoperability Reusability Quality Marketability Configurability Auditability

Kinds of Requirements Exciting Over the top ideas Regular Standard ideas Expected Unstated ideas

Excellence in Requirements What qualities should describe your requirements?

Excellence in Requirements Complete Correct Feasible Necessary Prioritized Unambiguous Verifiable

Complete Requirements Fully describes functionality Contains all information to design and build Use placeholders (templates) Example: The system must capture customer information The system must capture name, address, phone number and email information for customers

Correct Requirements Strive for total accuracy Users are critical in determining correctness

Feasible Requirements Can it be built? Do you have the skills to build it?

Necessary Requirements Actual need Legal compliance Traced to origin Understand why functionality is required

Prioritized Requirements Rank High, medium low Trace How are functions related? Provides flexibility for schedule adjustments, new requirements, etc.

Unambiguous Requirements Two person test: Randomly choose two people – Do they agree on interpretation Natural language can be problematic Use the user’s language – not jargon Define any specialized terms Simple, concise, straightforward language

Verifiable Requirements Develop test scenarios in advance

Exit Strategy All projects need an exit strategy In other words, plan for completion Might be contractually defined

Version Management Consider the lifecycle of the requirements Do you change them? Is there a document for each change? What about the schedule? Changes have ripple effects

Requirements Organization How should we label the requirements By name? By number? By category?

Strategy Work from high level to details Use diagrams to communicate ideas Build a dictionary Users have a different language Use html documents for navigation

Tool: Use Cases Allows a team to elicit requirements by analyzing a sequence of interactions between a user role and the system. Objective is to describe all tasks that any user role will need to perform within the system.

Exercise: Use cases Think of Facebook In your project teams, Identify 10 interactions a user might perform with the system.

Use Cases Work from low level of detail to high level of detail Step 1: Number and Name Step 2: low detail Step 3: high detail

Example 1 An online order process

Step 1: Use Case Number: 1.0 Use Case Name: Place Order

Step 2: “Casual” Use Case Use Case Number: 1.0 Use Case Name: Place Order Use Case Description: After the user has selected items to order, the user will give payment information and shipping location. When the order is placed a confirmation will be given to the user. Some users will have existing accounts.

Step 3: Full Use Case Use Case Number: 1.0 Use Case Name: Place Order Actors: Registered user Non-registered user Order system Billing system Triggers: The user is done shopping and indicates that they want to checkout. Precondition: User has selected items to purchase Post conditions: Order will be placed in system The user will have a confirmation

Step 3: Use Case Number: 1.0 Use Case Name: Place Order Normal flow: 1: The user indicates they want to checkout 2: The order system will show previous billing and shipping information 3: The user confirms billing and shipping 4: The order system shows the total cost 5: The user confirms the order 6: The order system will provide details to the billing system 7: The billing system will verify payment information and report back approval status 8: The order system will provide an order confirmation Alternate flows: 3.A.1: The user enters alternate billing and/or shipping information 5.A.1: The user cancels the order 8.A.1: The order system will provide a disapproved order confirmation

Classroom Assessment This is NOT graded! Get out a piece of paper and take a few moments to write down the answer to the following question: What was the muddiest or least clear point from today’s class for you? Make sure you write your name on the paper and turn it in as you leave class.