Unformatted text preview:

University of Toronto University of Toronto Department of Computer Science Department of Computer Science Method Engineering Lecture 12 Integrating RE Last Last Week Week We have looked at a number of RE methods Evolving EvolvingRequirements Requirements Change Changemanagement management Inconsistency Inconsistencymanagement management Product ProductFamilies Families 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 This This Week Week Looking Looking for for patterns patterns method methodengineering engineering problem problemframes frames analysis analysispatterns patterns 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 Next Next Week Week Summary Summary current currentRE REpractice practice Course Course Evaluation Evaluation 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 1 University of Toronto Are methods the only way to capture good practice 2000 2003 Steve Easterbrook University of Toronto Department of Computer Science The Patterns Movement an idea that has been useful in one practical context and will probably be useful in others Fowler When they find a good solution they use it repeatedly C f Christopher Alexander Notes on the Synthesis of Form 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 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 Analysis Patterns e g Book by Martin Fowler Presents a catalogue of patterns for conceptual modeling Examples Organizational structure measurement accounting planning 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 Identified the need for a pattern language in architectural design Problem Frames buyer e g Book by Michael Jackson Presents a catalogue of patterns for figuring out what the problem is Party Examples workpieces information display commanded behaviour connection 2000 2003 Steve Easterbrook Department of Computer Science What is a pattern Background Engineers Architects do not solve every problem from first principles 2 seller 3 2000 2003 Steve Easterbrook Contract Amount Number Price Money Instrument 4 1 University of Toronto University of Toronto Department of Computer Science Problem Frames Department of Computer Science Jackson s Frame Diagrams Software is used to address an incredible variety of problems inputs input output relationship machine 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 A problem frame has principal parts and a solution task Problem frames are ridiculously simplistic but still helpful Some problems require multiple problem frames Example Choosing the right problem frame can help with selecting a method for modeling and analysis Select a problem frame that achieves 2000 2003 Steve Easterbrook workpieces can change but only in response to external stimuli contained entirely in the machine domain Operation Requests Operation Requests Workpieces Real World Information Requests Information Outputs System Information function Active dynamic domain No assumed structure to the requests machine Information Requests Information function This is the Requirement time ordered no external stimulus i e the system must preserve this function Example Define the effects of and constraints on operations Information outputs must be accurate reflection of the state of the real world and must respond to information requests Edit operation rules Example ignores multiple users Frame ignores operations no longer time ordered 2000 2003 Steve Easterbrook Real World may be static for some problems Operation Properties Interaction between text files Department of Computer Science An autonomous active dynamic domain One dimensional active dynamic domain 6 Source Adapted from Jackson 1995 p84 86 Simple Information Display Frame Operation Properties An inert dynamic domain Input Output relationship University of Toronto Department of Computer Science Workpieces executable program outputs Workpieces Frame language and compiler semantics inputs machine 5 Source Adapted from Jackson 1995 p158 160 source program compiler 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 University of Toronto relationship between application domains Application domains Problem frames are an abstraction from classes of problems 2000 2003 Steve Easterbrook outputs Machine domain Users Source Adapted from Jackson 1995 p208 210 Editor tool Example Bank accounts Banking system How outputs from the system might affect the real world text files 7 2000 2003 Steve Easterbrook Source Adapted from Jackson 1995 p184 186 Account Statements Banking Rules Account Requests 8 2 University of Toronto University of Toronto Department of Computer Science Simple Control Frame Controlled domain Dynamic Both active and re active Desired behaviour


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?