Department of Computer Science University of Toronto Motivation for enterprise modeling Lecture 5 Modeling Enterprises Imagine we have interviewed some stakeholders Last Last Week Week Chief Executive Elicitation ElicitationTechniques Techniques Cognitive Cognitiveapproaches approaches Contextual approaches Contextual approaches Ethnography Ethnography Catering Manager 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 This This Week Week Chief Security Officer Modeling Modeling Enterprises Enterprises General GeneralModeling ModelingIssues Issues Modeling ModelingHuman HumanActivity Activity Decomposition Decomposition Means Ends Means EndsAnalysis Analysis and andtask taskdependencies dependencies Airline Sales manager 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 Modeling ModelingInfo Infoand andBehaviour Behaviour Structured Structuredand andOO OOmethods methods ER and Class Hierachies ER and Class Hierachies State machines State machines 2000 2003 Steve Easterbrook 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 1 2000 2003 Steve Easterbrook Department of Computer Science University of Toronto 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 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 Next Next Week Week 2 Department of Computer Science University of Toronto Remember It s only a model RE involves a lot of modelling Department of Computer Science University of Toronto A model is more than just a description 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 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 The application domain 1 n author Designations for the application domain B Book P Person R Wrote Common Properties 2000 2003 Steve Easterbrook ISBN title name DOB Book ISBN title Book 0 n Book entity Person entity author relation 1 n name The modeling Person domain author Phenomena not captured in the model Designations for the model s domain ghost writers pseudonyms anonymity For every B at least one P exists such that R P B Source Adapted from Jackson 1995 p120 122 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 3 2000 2003 Steve Easterbrook Source Adapted from Jackson 1995 p124 5 4 1 Department of Computer Science University of Toronto Modeling Type of Model Modeling can guide elicitation Can choose a variety of conceptual schema 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 i e if we ve filled in all the pieces of the model are we done E g s diagrams tables structured English etc 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 mostly visual for rapid communication with a variety of stakeholders 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 note requirements formalisms are geared towards cognitive considerations hence differ from most computer science formalisms 5 2000 2003 Steve Easterbrook Department of Computer Science University of Toronto formal notation very precise semantics extensive reasoning possible long way removed from the application domain Modeling can help us check our understanding 2000 2003 Steve Easterbrook semi formal notation captures structure and some semantics can perform some reasoning consistency checking animation etc Modeling can help to uncover problems Does inconsistency in the model reveal interesting things 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 Modeling can provide a measure of progress Does completeness of the model imply completeness of the elicitation Implementation Independence Abstraction does not model data representation internal organization etc Formality unambiguous syntax rich semantic theory Constructability can construct pieces of the model to handle complexity and size construction should facilitate communication Ease of analysis 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 Traceability ability to cross reference elements ability to link to design implementation etc e g things not subject to frequent change Example meta model Propositions about the application domain Executability can animate the model to compare it to reality Department of Computer Science Meta Modeling ability to analyze for ambiguity incompleteness inconsistency extracts essential aspects modify Facts record Minimality No redundancy of concepts in the modeling scheme i e no extraneous choices of how to represent something Activities Actions inducing change of facts in the application
View Full Document
Unlocking...