DOC PREVIEW
CU-Boulder CSCI 6448 - Analysis and Design Descriptions

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Lecture 6: Analysis and Design DescriptionsKenneth M. AndersonUniversity of Colorado, BoulderJanuary 27, 20051January 27, 2005 © University of Colorado, Boulder, 2005OverviewDiscuss the various types of system descriptions that can be used during analysis and designUse Cases (in brief, more in Lecture 7NarrativesScenariosConversationsAnnotationsCRC Cards2January 27, 2005 © University of Colorado, Boulder, 2005BackgroundDuring analysis and design, we willcapture requirements,brainstorm candidate objects and roles,consider trade-offs and design alternatives,and make decisionsIn order to document these activities, we need various types of software artifactstraditional requirements documents, UML diagrams, Use cases, etc.The format of these artifacts provide us with a means to structure and capture the information we are working so hard to create3January 27, 2005 © University of Colorado, Boulder, 2005User PerspectiveIn analysis, as much as possible, we want to write our artifacts from the standpoint of a userWe will make frequent and consistent use of domain-related vocabulary and conceptsWe will talk about the software system as a “black box”We can describe its inputs and its expected outputs but we try to avoid discussing how the system will process or produce this informationUse cases are a technique for maintaining this perspectivewe identify the different types of users for our systemwe then develop tasks for each of the different types of user 4January 27, 2005 © University of Colorado, Boulder, 2005ActorMore formally, a user is represented by an actorEach use case can have one or more actors involvedAn actor can be either a human user or a software systemActors have two defining characteristicsThey are external to the system under designThey take initiative and interact with our systemTypical types of users will includeCustomers, “Front-Line” Employees, Administrators, Security Personnel, Managers, etc.5January 27, 2005 © University of Colorado, Boulder, 2005Use CasesEach use case describes a single task for a particular actorThe description typically includes one “success” case and a number of extensions that document “exceptional” conditionsIn our text book, three different types of use case are presentednarratives, scenarios, and conversationsIn lecture 7, we will see a more formal version of the scenario style of use caseUse cases are used to capture functional requirementsThey can be annotated to also describe non-functional requirements but typically the focus is on functional requirements only6January 27, 2005 © University of Colorado, Boulder, 2005Example: Word ProcessorOur textbook makes use of a word processor as an example domain for analysis and design descriptionsThis domain has a number of real world counterparts, but be aware that this example is inherently “tool focused”In the “real world”, you will be tackling larger problem domains, understanding a specific problem within that domain, and then creating tools (or a single software system) to address that problemThis domain has a number of primary concepts that will emerge during analysis and design discussionsDocument, Page, Paragraph, Spell Checker, etc.7January 27, 2005 © University of Colorado, Boulder, 2005Use Case NarrativeA narrative is a brief, high-level description of a user task; A narrative consists of typically one or two paragraphs of natural language textNarratives are highly informal and typically leave out a lot of details that will need to be filled in at a later timeThey are useful when discussing a new task for the first timeExample8Documents can be saved in different file formats. When you save a new document, the default file format is used unless another is specified. When a Save Document operation has completed saving an existing document, the file represents accurately the document as displayed to the user upon savingJanuary 27, 2005 © University of Colorado, Boulder, 2005Narratives DiscussedFrom the example, we can see that narrativesmay not be labeled or otherwise have a titlemay not explicitly identify an actormay use undefined termsHowever, they allow for the quick capture of functional requirements and identify areas in the domain that require additional analysis and/or descriptionFor instance,What is a file format? What’s the default format? How is a “Save Document Operation” invoked?9January 27, 2005 © University of Colorado, Boulder, 2005Use Case ScenarioA scenario describes a specific path (through a software system) that a user will take to complete a taskEach step will describe either an action taken by the user (or actor) or a response generated by the system under designAs we will see, each step should be kept as simple as possibleUse case scenarios require a particular writing styleWe will cover guidelines for writing effective use cases in Lecture 7The scenario should end with the successful completion of the given task10January 27, 2005 © University of Colorado, Boulder, 2005Example: Saving an HTML Doc11Save a document to an HTML File1. The user commands the system to save a file.2. The system presents a "Save File" dialog box.3. If the file is being saved for the first time, the system will construct a name for the file using a default file extension and the first line of text in the document.4. The user indicates the HTML document type from the dialog.5. The system replaces the default extension with ".html"6. The user selects a directory for the file.7. The user clicks the "Save" button in the dialog box.8. The software warns the user that some formatting information may be lost in the transformation to HTML. It gives the user a chance to cancel the operation.9. The user asks for the operation to continue.10. The software saves the document in HTML format in the location specified by the user.Scenarios will typically contain a title and list the sequence of actions needed to successfully complete a taskScenarios can be informal (like this example) or extremely formalScenarios can also indicate extensions that show how to handle error conditionsJanuary 27, 2005 © University of Colorado, Boulder, 2005Use Case Conversations12Use case conversations go one step further than scenarios to explicitly identify the system responsibilities that are implied by an actor’s actionsThese responsibilities begin to reveal explicitly the functional requirements of the system under designRecall that the creation of these responsibilities


View Full Document

CU-Boulder CSCI 6448 - Analysis and Design Descriptions

Documents in this Course
Struts

Struts

12 pages

Adapter

Adapter

23 pages

Prototype

Prototype

16 pages

Weka

Weka

15 pages

qooxdoo

qooxdoo

16 pages

Django

Django

12 pages

Overview

Overview

22 pages

XNA

XNA

5 pages

Load more
Download Analysis and Design Descriptions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Analysis and Design Descriptions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Analysis and Design Descriptions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?