Unformatted text preview:

University of Toronto Department of Computer Science Lecture 12 Integrating RE Last Last Week Week Evolving EvolvingRequirements Requirements Change Changemanagement management Inconsistency Inconsistencymanagement management Product ProductFamilies Families This This Week Week Looking Looking for for patterns patterns method methodengineering engineering problem problemframes frames analysis analysispatterns patterns Next Next Week Week Summary Summary current currentRE REpractice practice Course Course Evaluation Evaluation 2000 2003 Steve Easterbrook 1 University of Toronto Department of Computer Science Method Engineering We have looked at a number of RE methods Methods Methods Methods Methods Methods Methods Methods for for for for for for for Elicitation Interviews Ethnography Scenarios task analysis etc Modeling Enterprises Goals NFRs KAOS I SoftGoal etc Modeling System Functions SSADM SADT OMT UML etc Writing Formal Specifications SCR RSML etc Validating Reqts Inspections Prototyping etc Negotiating Reqts WinWin Synoptic Oz etc Managing Evolving Reqts ViewPoints Default Logic etc and some of these methods cover several different aspects of RE How do we choose which method s to adopt Method Engineering Development and customization of methods for specific purposes Includes process guidance for when and how to use the methods Method Integration Create normative RE process models that combine multiple methods But you first need to know what type of RE problem you are tackling Are methods the only way to capture good practice Some people argue that the focus on methods is wrong if we want to learn how good RE is done look for patterns in the outputs 2000 2003 Steve Easterbrook 2 1 University of Toronto Department of Computer Science The Patterns Movement Background Engineers Architects do not solve every problem from first principles When they find a good solution they use it repeatedly C f Christopher Alexander Notes on the Synthesis of Form Identified the need for a pattern language in architectural design Design Patterns e g Book by Gamma Helm Johnson Vlissides aka the gang of four Presents a catalogue of patterns for object oriented design Really these are program level execution patterns Examples factory singleton decorator fa ade visitor Analysis Patterns e g Book by Martin Fowler Presents a catalogue of patterns for conceptual modeling Examples Organizational structure measurement accounting planning Problem Frames e g Book by Michael Jackson Presents a catalogue of patterns for figuring out what the problem is Examples workpieces information display commanded behaviour connection 2000 2003 Steve Easterbrook 3 University of Toronto Department of Computer Science What is a pattern an idea that has been useful in one practical context and will probably be useful in others Fowler Elements Name immensely useful for communicating your solution to others Context where the pattern is useful Problem that the pattern addresses Forces that play a part in forming a solution Solution that resolves those forces Example from Fowler Name Contract Context any kind of financial deal Problem how to represent the transaction of buying and selling Forces distinguish two parties buyer s and seller s views look different a deal really involves 2 instruments but one is usually money Solution buyer Party seller 2000 2003 Steve Easterbrook Contract Amount Number Price Money Instrument 4 2 University of Toronto Department of Computer Science Problem Frames Software is used to address an incredible variety of problems Often there is little similarity between problem types other than that the solution involves software E g ticket machine vs payroll system vs signal processor vs website vs Need identify and classify problem types Problem frames are an abstraction from classes of problems A problem frame has principal parts and a solution task Problem frames are ridiculously simplistic but still helpful Some problems require multiple problem frames Choosing the right problem frame can help with selecting a method for modeling and analysis Select a problem frame that achieves Separability Must be able to separate the principal parts of the problem Completeness Every part of the problem must be accommodated Part Characteristics The parts of the problem must have the right characteristics in the model Proportionality The parts of the model should be filled roughly equally 2000 2003 Steve Easterbrook 5 Source Adapted from Jackson 1995 p158 160 University of Toronto Department of Computer Science Jackson s Frame Diagrams inputs input output relationship machine outputs Machine domain relationship between application domains Application domains Example compiler machine source program inputs executable program language and compiler semantics Input Output relationship outputs 2000 2003 Steve Easterbrook Source Adapted from Jackson 1995 p84 86 6 3 University of Toronto Department of Computer Science Workpieces Frame Workpieces Operation Properties An inert dynamic domain workpieces can change but only in response to external stimuli contained entirely in the machine domain Operation Requests Operation Requests Workpieces machine One dimensional active dynamic domain time ordered no external stimulus Operation Properties Example Define the effects of and constraints on operations Edit operation rules Example ignores multiple users operations no longer time ordered Interaction between text files 2000 2003 Steve Easterbrook Users Editor tool text files 7 Source Adapted from Jackson 1995 p208 210 University of Toronto Department of Computer Science Simple Information Display Frame Real World Real World An autonomous active dynamic domain may be static for some problems Information Requests Information Outputs System Information function Active dynamic domain No assumed structure to the requests Information Requests Information function This is the Requirement i e the system must preserve this function Information outputs must be accurate reflection of the state of the real world and must respond to information requests Frame ignores Example Bank accounts Banking system How outputs from the system might affect the real world 2000 2003 Steve Easterbrook Source Adapted from Jackson 1995 p184 186 Account Statements Banking Rules Account Requests 8 4 University of Toronto Department of Computer Science Simple Control Frame Controlled domain Dynamic Both active and re active Controller i e spontaneous changes and


View Full Document
Loading Unlocking...
Login

Join to view Lecture 12 - Integrating RE 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 12 - Integrating RE 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?