Unformatted text preview:

University of Toronto Department of Computer Science Lecture 6 Requirements Modeling I Last Last Week Week Elicitation Elicitation II II Cognitive Cognitiveapproaches approaches Contextual Contextualapproaches approaches Ethnography Ethnography This This Week Week Modeling Modeling and and Analysis Analysis I I General Modeling General ModelingIssues Issues Modeling ModelingGoals Goals Organizations Organizations and andNon Functional Non FunctionalRequirements Requirements Next Next Week Week Modeling Modelingand andAnalysis Analysis II II Modeling ModelingFunctionality Functionality Structured Structuredand andOO OOmethods methods Formal FormalMethods Methods 2000 2003 Steve Easterbrook University of Toronto 1 Department of Computer Science Motivation for modeling Imagine we have interviewed some stakeholders Chief Executive When flight is full VIPs are first to be upgraded Discounted tickets should be offered to politicians since they make important decisions affecting the airline Info about frequent fliers should not be made available to outside contractors Chief Security Officer The number of bags in the aircraft s hold should tally against the list of passengers on board Passenger lists should not be made available to the public Passengers should check in only once Travel Agent An agent is responsible for holding and canceling reservations Tickets offered by an agency have different fares negotiated with the airline sales department Catering Manager The food loaded is dictated by the number of passengers travelling in a particular class A predicted number of passengers on a flight must be available 24 hours prior to departure Passengers requiring special meals must indicate their request 24 hours prior to departure Airline Sales manager A ticket may only be issued when a fare is paid For some fares a reservation can be held and not confirmed When a discounted ticket is booked the normal book ahead requirements do not apply All tickets must carry appropriate endorsements relating to the terms and conditions of issue of tickets How do we get from here to an agreed specification 2000 2003 Steve Easterbrook 2 1 University of Toronto Department of Computer Science RE involves a lot of modelling A model is more than just a description it has its own phenomena and its own relationships among those phenomena The model is only useful if the model s phenomena correspond in a systematic way to the phenomena of the domain being modelled Example ISBN title Book The application domain 1 n author Designations for the application domain B Book P Person R Wrote B entity P entity R relation P B Designations for the model s domain For every B at least one P exists such that R P B Common Properties 2000 2003 Steve Easterbrook 0 n name The modeling Person domain 3 Source Adapted from Jackson 1995 p120 122 University of Toronto Department of Computer Science Remember It s only a model There will always be phenomena in the model that are not present in the application domain phenomena in the application domain that are not in the model ISBN title name DOB Book 1 n author Phenomena not captured in the model ghost writers pseudonyms anonymity 0 n Common Phenomena every book has at least one author every book has a unique ISBN Person Phenomena not true in the world no two people born on same date with same name A model is never perfect If the map and the terrain disagree believe the terrain Perfecting the model is not always a good use of your time 2000 2003 Steve Easterbrook Source Adapted from Jackson 1995 p124 5 4 2 University of Toronto Department of Computer Science Modeling Modeling can guide elicitation Does the modeling process help you figure out what questions to ask Does the modeling process help to surface hidden requirements i e does it help you ask the right questions Modeling can provide a measure of progress Does completeness of the model imply completeness of the elicitation i e if we ve filled in all the pieces of the model are we done Modeling can help to uncover problems Does inconsistency in the model reveal interesting things e g inconsistency could correspond to conflicting or infeasible requirements e g inconsistency could mean confusion over terminology scope etc e g inconsistency could reveal disagreements between stakeholders Modeling can help us check our understanding Can we test that the model has the properties we expect Can we reason over the model to understand its consequences Can we animate the model to help us visualize validate the requirements 2000 2003 Steve Easterbrook University of Toronto 5 Department of Computer Science Type of Model Can choose a variety of conceptual schema natural language extremely expressive and flexible very poor at capturing the semantics of the model better used for elicitation and to annotate models for communication semi formal notation captures structure and some semantics can perform some reasoning consistency checking animation etc E g s diagrams tables structured English etc formal notation very precise semantics extensive reasoning possible long way removed from the application domain note requirements formalisms are geared towards cognitive considerations hence differ from most computer science formalisms 2000 2003 Steve Easterbrook Source Adapted from Loucopoulos Karakostas 1995 p72 73 6 3 University of Toronto Department of Computer Science Desiderata for Conceptual Schema Implementation Independence Abstraction does not model data representation internal organization etc ability to analyze for ambiguity incompleteness inconsistency extracts essential aspects Formality unambiguous syntax rich semantic theory Executability can animate the model to compare it to reality Constructability can construct pieces of the model to handle complexity and size construction should facilitate communication 2000 2003 Steve Easterbrook Traceability ability to cross reference elements ability to link to design implementation etc e g things not subject to frequent change Ease of analysis Minimality No redundancy of concepts in the modeling scheme i e no extraneous choices of how to represent something 7 Source Adapted from Loucopoulos Karakostas 1995 p77 University of Toronto Department of Computer Science Meta Modeling Can compare modeling schema using meta models What phenomena does each scheme capture What guidance is there for how to elaborate the models What analysis can be performed on the models Example meta model Propositions about


View Full Document
Loading Unlocking...
Login

Join to view Lecture 6 - Requirements Modeling I 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 Lecture 6 - Requirements Modeling I 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?