CMPT 275 Software Engineering

Vergelijkbare documenten
Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

MyDHL+ Van Non-Corporate naar Corporate

General info on using shopping carts with Ingenico epayments

MyDHL+ ProView activeren in MyDHL+

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Introductie in flowcharts

Preschool Kindergarten

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 10

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : lator=c&camp=24759

Interaction Design for the Semantic Web

Chapter 4 Understanding Families. In this chapter, you will learn

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 11

CTI SUITE TSP DETAILS

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Engels op Niveau A2 Workshops Woordkennis 1

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance

Luister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf!

PRIVACYVERKLARING KLANT- EN LEVERANCIERSADMINISTRATIE

B1 Woordkennis: Spelling

Zo werkt het in de apotheek (Basiswerk AG) (Dutch Edition)

Digital municipal services for entrepreneurs

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

This appendix lists all the messages that the DRS may send to a registrant's administrative contact.

Topic 10-5 Meeting Children s Intellectual Needs

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

Four-card problem. Input

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

Firewall van de Speedtouch 789wl volledig uitschakelen?

Continuous testing in DevOps met Test Automation

'Foreign exchange student'

Een vrouw, een kind en azijn (Dutch Edition)

Academisch schrijven Inleiding

ETS 4.1 Beveiliging & ETS app concept

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Travel Survey Questionnaires

Ervaringen met begeleiding FTA cursus Deployment of Free Software Systems

FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 25/2/2016. Biocide CLOSED CIRCUIT

Ontpopping. ORGACOM Thuis in het Museum

Process Mining and audit support within financial services. KPMG IT Advisory 18 June 2014

Handleiding Zuludesk Parent

Concept of Feedback. P.S. Gandhi Mechanical Engineering IIT Bombay

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

KPMG PROVADA University 5 juni 2018

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

ALGORITMIEK: answers exercise class 7

Welkom. Digitale programma: #cmdag18. Dagvoorzitter Prof. dr. Arjan van Weele NEVI hoogleraar inkoopmanagement.

Kan ik geld afhalen in [land] zonder provisies te betalen? Asking whether there are commission fees when you withdraw money in a certain country

Borstkanker: Stichting tegen Kanker (Dutch Edition)

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

Ius Commune Training Programme Amsterdam Masterclass 15 June 2018

Leeftijdcheck (NL) Age Check (EN)

Voorbeelden van machtigingsformulieren Nederlands Engels. Examples of authorisation forms (mandates) Dutch English. Juli 2012 Versie 2.

Ius Commune Training Programme Amsterdam Masterclass 22 June 2017

MyDHL+ Uw accountnummer(s) delen

Building the next economy met Blockchain en real estate. Lelystad Airport, 2 november 2017 BT Event

L.Net s88sd16-n aansluitingen en programmering.

Understanding and being understood begins with speaking Dutch

De grondbeginselen der Nederlandsche spelling / Regeling der spelling voor het woordenboek der Nederlandsche taal (Dutch Edition)

Maillijsten voor medewerkers van de Universiteit van Amsterdam

Handleiding Installatie ADS

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Innovaties in de chronische ziekenzorg 3e voorbeeld van zorginnovatie. Dr. J.J.W. (Hanneke) Molema, Prof. Dr. H.J.M.

Media en creativiteit. Winter jaar vier Werkcollege 7

en DMS koppelvlak Utrecht, 14 april 2011

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English

Value based healthcare door een quality improvement bril

Opleiding PECB ISO 9001 Quality Manager.

Teksten van de liederen die gospelkoor Inspiration tijdens deze Openluchtdienst zingt.

Nieuwsbrief NRGD. Editie 11 Newsletter NRGD. Edition 11. pagina 1 van 5.

Consumer billing Best practices

Wat is Interaction Design?

Communication about Animal Welfare in Danish Agricultural Education

EM7680 Firmware Update by OTA

Buy Me FILE 5 BUY ME BK 2

Integratie van Due Diligence in bestaande risicomanagementsystemen volgens NPR 9036

Virtual Enterprise Centralized Desktop

L.Net s88sd16-n aansluitingen en programmering.

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

THE WORK HET WERK HARALD BERKHOUT

Opleiding PECB IT Governance.

Global TV Canada s Pulse 2011

Davide's Crown Caps Forum

VOORSTEL TOT STATUTENWIJZIGING UNIQURE NV. Voorgesteld wordt om de artikelen 7.7.1, 8.6.1, en te wijzigen als volgt: Toelichting:

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml

CBSOData Documentation

GernEdiT The GermaNet Editing Tool

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Free Electives (15 ects)

Group work to study a new subject.

Published in: Onderwijs Research Dagen 2013 (ORD2013), mei 2013, Brussel, Belgie

Component-based software engineering

01/ M-Way. cables

Ius Commune Training Programme Amsterdam Masterclass 16 June 2016

Transcriptie:

CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan, 2008-2014 1 Requirements Analysis You made a list of functional requirements Describe the required interactions between the system and its environment (independent of implementation) You made list of non-functional requirements QUALITY REQUIREMENTS: Usability, reliability, performance, maintainability CONSTRAINTS or PSEUDO REQUIREMENTS: Implementation (tools, languages), interface (to external systems), operation (admin, management), packaging, Legal Janice Regan, 2008-2014 2 Requirements Analysis Now you need to validate and verify your requirements to assure that they are Complete: all required features must be described Consistent: no two requirements in the specification may contradict each other Unambiguous: no requirement can be interpreted in two different and contradictory ways Correct: Only features desired by the client / developer are included not unintended extra features (problems) Janice Regan, 2008-2014 3 1

Requirements Analysis You continued to build your analysis model and verify/validate your requirements by Identifying the actors for your system Building a system context diagram to clarify what is part of your proposed system Identifying and developing informal scenarios that describe all functions of your system Building use cases based on groups of related informal scenarios Building a functional model of your system by investigating relationships between use cases and actors and making a use case diagram Janice Regan, 2008-2014 4 Requirements Analysis Activity Client/User Software Developer Update SRS Use Case Centered Development (UCCD) Questions Use Case Diagram Use Cases Class Diagram Scenarios Primary Classes State Diagram System Context Diagram Janice Regan, 2008-2014 5 UML: Unified Modeling Language Used in this course for analysis models of System functionality use case diagrams, use cases and scenarios Objects and their static relationships class diagrams, analysis models Dynamic behavior state diagrams, collaboration diagrams sequence diagrams Janice Regan, 2008-2014 6 2

From use cases to classes Consider one use case, make a class diagram 1. Identify primary classes to describe the objects involved in a use case 2. Add the relationships between these classes extracted from the use case and / or the requirements satisfied by the use case Consider additional use cases one by one, adding the additional primary classes and relationships between classes Janice Regan, 2008-2014 7 Primary Classes (objects) Primary Classes are abstractions that describe the attributes and behaviors of sets of objects According to the rational unified process (RUP) Primary classes can be of one of three types, Primary Entity classes represent entities (objects) present in conceptualization Primary Boundary Classes model interfaces with external entities (actors) Primary Control Classes model coordination and sequencing of events/calculations and manipulation of instances of entity classes Janice Regan, 2008-2014 8 From use cases to classes For the Rational Unified Process For each use case need at least one interface class For each used case need one (rarely more) control class For each use case identify primary entity classes to describe the objects involved Make a class diagram for each class, then combine. Or make a analysis model for one use case, then add additional use cases Janice Regan, 2008-2014 9 3

UML for RUP analysis models Entity Classes Boundary Classes Control Classes Janice Regan, 2008-2014 10 Use case diagram for ATM Deposit Bank customer Transfer database Withdraw Identified primary entity class, account Janice Regan, 2008-2014 11 Example: ATM analysis model dispenser withdrawal Cashier interface Database query or response translator Database query or response Bank customer Money receptor transfer account deposit database Janice Regan, 2008-2014 12 4

Example: ATM analysis model <<Boundary>> dispenser <<control>> withdrawal <<entity>> account <<Boundary>> Cashier interface <<control>> transfer transfer <<Boundary>> Database interface <<Boundary>> receptor <<control>> deposit Janice Regan, 2008-2014 13 Primary Entity Classes Model phenomena or concepts real life objects or events in the application domain Other objects, events or concepts handled by the system Require long term or persistent storage of information describing their instances (objects). May be passive or active (encapsulate complex behavior related to the information it represents) Isolate changes to the data they represent Janice Regan, 2008-2014 14 Identifying Primary Entity Classes Look for application domain (real world) things and roles that the use case is tracking or manipulating Look for application domain (real world) events that the use case is tracking or manipulating Look for recurring references to objects in the use case (recurring nouns) Janice Regan, 2008-2014 15 5

Identifying Primary Entity Classes To identify entities that should be represented by primary classes select nouns from the use case and functional requirements for the use case, inspect each noun (start with recurring nouns) for the following properties Retained information Common attributes (different instances) Multiple attributes Needed services Common operations Janice Regan, 2008-2014 16 Primary Entity Class? Retained information Primary entity classes require long term or persistent storage of information describing their instances (objects). Consider some examples from the LMS Patron Home phone number of each patron Book All of these examples require persistent storage of information describing their instances Janice Regan, 2008-2014 17 Primary Entity Class? Multiple attributes, Common attributes Is there more than one attribute (other noun) describing the candidate for primary class? Home phone number of patron? NO Book (title, publisher, call number, ) Patron (type, home phone #, address ) Can these attributes be used to describe each object in the candidate primary class? YES (for Book and Patron) Janice Regan, 2008-2014 18 6

Primary Entity Class? Needed services, common services Are operations needed to manipulate the persistent data? Do such operations need to be available to other classes? Books, patrons and home phone numbers must be added, removed, and information describing them must be updated. Not enough, what else Books and patrons must have services to update their values when a patron checks out, checks in, reserves, or requests a book. Janice Regan, 2008-2014 19 Boundary Classes Model the interaction of a system and its actors Receiving information from the actor Presenting information to the actor Represent abstractions of API s, sensors, input / output devices, external data repositories, forms Model conceptually what requests and information exchanged (no details of how or interface, just what) Each boundary class should be associated with at least on actor. Each actor should be associated with at least one boundary class Janice Regan, 2008-2014 20 Identifying Boundary Classes Actor interfaces with parts of the system (ATM client interface) Identify forms needed to enter data (Ballot entry form) Identify messages (notices) used to respond to actor input Janice Regan, 2008-2014 21 7

Control Classes Control complex sequences of events or calculations DO NOT DO calculations/tasks USE functionality of classes, coordinating execution order of tasks done by and events important to the entity classes (>2) involved Do not usually represent a concrete object in the real world Do not deal with interaction with actors The lifespan of the object should cover the use case duration or the duration of the user session Janice Regan, 2008-2014 22 Support Classes Container classes e.g.: List and Hash Table classes Service classes e.g.: Stream classes They are not present in conceptualization of software system The need for these classes identified during design Janice Regan, 2008-2014 23 Formal Scenario Development Scenarios are derived from use cases Scenarios are like informal scenarios, but are more formally structured Use cases are abstract because they do not reference specific values Scenarios are concrete because they do reference specific and plausible values Multiple scenarios may be required for a single use case Janice Regan, 2008-2014 24 8

Example: Scenario #1 Use Case Name: CheckInResource (#7) Scenario: Paul returns an overdue book by coming to the library counter. Preconditions: Eva the Librarian has successfully gained access to the LMS. LMS is ready to go (DB has been populated and LMS has been initialized). Options screen is displayed Janice Regan, 2008-2014 25 Example: Scenario #1 (cont) Main flow of events: Patron Paul (a student) comes up to the counter and wishes to return the Quantum Physics book he borrowed the previous semester. Eva the librarian takes the book Paul is handing out to her selects CHECKINRESOURCE option and types in its valid Dewey call number. The LMS displays the information related to the Quantum Physics book on the screen and lets Eva know that Paul owes the library $5 (max.). Janice Regan, 2008-2014 26 Example: Scenario #1 (cont) Main flow of events: (cont) Eva notifies Paul of his overdue charge and Paul, after searching throughout all his pockets, produces a $5 bill. Eva makes sure that Paul's record is now clean and that no one has requested the book. Since no one has, Eva verifies by looking at the screen that the book has been checked in properly. Paul wishes Eva "Good day" and departs. Janice Regan, 2008-2014 27 9

Example: Scenario #1 (cont) Post conditions: Paul s record is now showing that he has returned the Quantum Physics book and that he has paid the overdue charge. The Quantum Physics book has now a status of "reshelve", today's date as a date of return, date of loan has been cleared and so as the due date. NO NEED FOR EXCEPTIONAL FLOW OF EVENTS!!! Each exceptional flow of events would be another scenario Janice Regan, 2008-2014 28 Example: Scenario #2 Use Case Name: CheckInResource (#7) Scenario: Paul returns an overdue book by putting it in the return box. Preconditions: Eva the Librarian has successfully gain access to the LMS. LMS is ready to go (DB has been populated and LMS has been initialized). Janice Regan, 2008-2014 29 Example: Scenario #2 (cont) Main flow of events Patron Paul (a student) has deposited the Quantum Physics book he borrowed the previous semester in the return box. Eva the librarian takes the book from the return box and types in its Dewey call number. Janice Regan, 2008-2014 30 10

Example: Scenario #2 Main flow of events (Cont) The LMS displays the information related to the Quantum Physics book on the screen and lets Eva know that the borrowing patron Paul owes the library $5. Eva makes sure that Paul's record reflects such overdue charge. Then Eva ensures that no one has requested the book. Since no one has, Eva verifies looking at the screen that the book has been checked in properly. Janice Regan, 2008-2014 31 Example: Scenario #2 Post conditions: Paul record now showing an overdue charge of $5 (since it was overdue by quite a few weeks). The Quantum Physics book has now a status of "reshelve", today's date as a date of return, date of loan has been cleared and so as the due date. Janice Regan, 2008-2014 32 11