1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.

Slides:



Advertisements
Similar presentations
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Advertisements

Analysis Modeling.
1 SWE 513: Software Engineering Requirements II. 2 Details in Requirements Requirements must be specific Examples -- university admissions system Requests.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 10 Requirements 3.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
CS 5150 Software Engineering
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 9 Requirements II.
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
Software Engineering Lecture 9 Object-Oriented Design II.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 7 Requirements I.
Overview of Software Requirements
CS 5150 Software Engineering
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
CS 501: Software Engineering Fall 2000 Lecture 12 Object-Oriented Design II.
CS 5150 Software Engineering
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
CS 501: Software Engineering Fall 2000 Lecture 6 (a) Requirements Analysis (continued) (b) Requirements Specification.
USE Case Model.
The Software Development Cycle Defining and understanding the problem.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Computers & Employment By Andrew Attard and Stephen Calleja.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Introduction to Sequence Diagrams
Creating a Web Site to Gather Data and Conduct Research.
CS 501: Software Engineering Fall 1999 Lecture 18 (a) Project Reports (b) Object-Oriented Design III.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
CS CS 5150 Software Engineering Lecture 10 Requirements 3.
Faculty of Computer & Information Software Engineering Third year
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
Computer Emergency Notification System (CENS)
Requirements – Scenarios and Use Cases
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 8 Requirements Analysis and Specification.
CS 5150 Software Engineering Lecture 7 Requirements 1.
Systems Development Life Cycle
CS CS 5150 Software Engineering Lecture 9 Requirements 2.
Title V, Preliminary Completeness Review. What do I need to do?  I need to find out if the application contains the required information.  Initial Title.
CISB113 Fundamentals of Information Systems IS Development.
SWE 513: Software Engineering
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 8 Requirements II.
CS223: Software Engineering Lecture 13: Software Architecture.
CS 5150 Software Engineering Lecture 8 Requirements 2.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
How to complete and submit a Final Report through Mobility Tool+ Technical guidelines Authentication, Completion and Submission 1 Antonia Gogaki IT Officer.
Analysis. This involves investigating what is required from the new system and what facilities are available. It would probably include:
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Advanced Higher Computing Science
CS 501: Software Engineering
Welcome to M301 P2 Software Systems & their Development
Chapter 4: Business Process and Functional Modeling, continued
CS 501: Software Engineering
Use Case Model.
Requirements – Scenarios and Use Cases
CS 5150 Software Engineering
Presentation transcript:

1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II

2 CS 501 Spring 2005 Administration Quiz 1 Collect after class or from reception at 301 College Avenue Assignment 1: Feasibility study Due Friday at 5:00 p.m. Remember to submit your questionnaires Remember to send a copy to your client

3 CS 501 Spring 2005 Diagrams and Specification in UML A diagram is the graphical representation of a set of elements, usually rendered as a connected graph of vertices (things) and arcs (relationships). Each diagram is supported by technical documentation that specifies in more detail the model represented by the diagram. A diagram without documentation is of little value.

4 CS 501 Spring 2005 Actor and Use Case Diagram An actor is a user of a system in a particular role. An actor can be human or an external system. A use case is a a task that an actor needs to perform with the help of the system. Borrow book BookBorrower Use cases make more precise the concept of viewpoint analysis.

5 CS 501 Spring 2005 Use Cases and Actors A scenario is an instance of a use case Actor is role, not an individual (e.g., librarian can have many roles) Actor must be a "beneficiary" of the use case (e.g., not librarian who processes book when borrowed) In UML, the system boundary is the set of use cases.

6 CS 501 Spring 2005 Scenario A scenario is a tool used during requirements analysis to walk through a specific interaction with a proposed system. Example The requirements are being developed for a system that will enable university students to take quizzes online from their own rooms using a Web browser. Create a scenario for a typical student.

7 CS 501 Spring 2005 Scenario: a Typical Student Individual: Philip Glass, senior at Cornell, major in computer science, location Risley Hall. Equipment: Dell laptop attached to Cornell dormitory network. Mozilla 5.1 browser and Sidecar authentication system installed. Scenario: 1.PG powers up computer and authenticates using Sidecar. 2.PG starts browser and types URL of Quiz system. 3.Quiz system displays list of options.

8 CS 501 Spring 2005 Scenario (continued) 4.PG selects CS 501 Quiz 1. 5.A list of questions is displayed, each marked to indicate whether completed or not. 6.PG selects a question and specifies whether he will submit a new answer or edit a previous answer. 7.For the first question, he is submitting a new answer. He has a choice whether to type the solution into the browser or to attach a separate file. He decides to attach a file. 8.For the second question, he is editing a previous answer. He chooses to delete a solution previously typed into the browser, and to replace it with an attached file.

9 CS 501 Spring 2005 Scenario (continued) 9.PG has now completed the quiz. He selects an option that submits the quiz to the grading system. 10.PG now wishes to change a solution. The system does not permit changes once the solution has been submitted. 11.PG logs off.

10 CS 501 Spring 2005 Modeling Scenarios as User Cases A scenario is useful in discussing a proposed system with a client, but needs to be generalized as part of the requirements modeling. A use case provides such a model.

11 CS 501 Spring 2005 Use Cases for Quiz System TakeQuiz QuizTaker CheckGrades Request Regrade

12 CS 501 Spring 2005 Use Cases for Quiz System SetQuiz Instructor Grade Regrade Note that actor is a role. An individual can be a QuizTaker on one occasion and an Instructor at a different time.

13 CS 501 Spring 2005 Relationships Between Use Cases: > QuizTaker Authenticate TakeQuiz > CheckGrades

14 CS 501 Spring 2005 Relationships Between Use Cases: > TakeQuiz QuizTaker Connection Fails > > is used for events that are in the flow of events of the source use case. > is used for exceptional conditions, especially those that can occur at any time.

15 CS 501 Spring 2005 Use Cases in the Development Cycle Use cases are a tool in requirements analysis Intuitive -- easy to discuss with clients Use cases are often hard to translate into class models Scenarios are useful to validate use cases and the design of a system.

16 CS 501 Spring 2005 Documentation Reasons for documentation: visibility (e.g., project plan, interim report) user support (e.g., user manual) team communication (e.g., interface specifications) maintenance and evolution (e.g., requirements) Characteristics of documentation: accurate and kept current appropriate for audience maintained online (usually) simple but professional in style and appearance Documentation is expensive --> Quality not volume

17 CS 501 Spring 2005 Requirements Specification: Purpose 1.Document that describes the requirements to the stakeholders in a precise manner Expressed in the terms that the stakeholders understand As precise and specific as possible Comprehensible from many viewpoints Reviewed by stakeholders so that they understand implications Must be clear about assumptions (things left out)

18 CS 501 Spring 2005 Requirements Specification: Purpose 2. It describes the requirements to the implementers As precise and specific as possible Expressed in terms that they understand Comprehensible to new team members

19 CS 501 Spring 2005 Requirements Specification: Purpose 3. It records the requirements for the future An essential part of system evolution 4. It may be a contractual document

20 CS 501 Spring 2005 Details in Requirements Requirements must be specific Examples -- university admissions system Requests for information received by must be answered within one business day. An admissions officer who is talking to an applicant by telephone must be able to retrieve the applicant's records within 10 seconds. No financial aid offer may exceed the maximum defined in Section 8.7.

21 CS 501 Spring 2005 Documentation of Use Case Name: TakeQuiz Actor(s): QuizTaker Flow of events: 1.QuizTaker connects to the Quiz server. 2.Quiz server checks whether student is already authenticated and transfer to Sidecar for authentication if necessary. 3.QuizTaker selects a quiz from a list of options. 4.QuizTaker repeatedly selects a question and either types in a solution, attaches a file with a solution, edits a solution or attaches a replacement file.

22 CS 501 Spring 2005 Specification of Use Case (continued) Flow of events (continued): 5.QuizTaker either submits completed quiz or saves current state. 6.If a completed quiz is submitted, Quiz server checks that all questions have been attempted and either sends acknowledgement to QuizTaker, or saves current state and notifies QuizTaker of incomplete submission. 7.QuizTaker logs out. Entry conditions: 1.QuizTaker must have Cornell NetID. 2.Computing requirements: CIT supported browser and Sidecar

23 CS 501 Spring 2005 Requirements Specification: Process The client must understand the requirements specification. Do not assume that anybody has read a document. Do not assume that anybody understands a document. Go through the requirements specification with the client, line by line. It is usual for the client and developer to sign the requirements document when it is agreed. [Compare with the plans to build a house. This is the specification of the system that you are about to build.]

24 CS 501 Spring 2005 Requirements Analysis v. System Design Dilemma. Requirements analysis should make minimal assumptions about the system design. But the requirements definition must be consistent with computing technology and the resources available. In practice, analysis and design are interwoven. However: 1. Do not to allow the requirements analysis to prejudge the system design. 2. Do not allow assumptions about the design to influence the requirements analysis. *