Page ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 1II. Conceptual ModelingEngineering SoftwareEngineering SoftwareModels in Software EngineeringModels in Software EngineeringWhat is Conceptual Modeling?What is Conceptual Modeling?OriginsOriginsInformation Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 2Engineering Software All engineering disciplines are founded on models that areanalyzable and can predict the properties of the artifact beingengineered. Examples: Electric circuits, bridges, car engines. What kinds of models can we build for information systems?…And how do we analyze them? We will look at modeling and analysis techniques forrequirements and for designs.Page ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 3Conceptual ModelingConceptual Modeling Key problem: Have to give an unambiguous, easy tounderstand account of our understanding of an organizationand how it works, also how the new system will fit in thatorganization. We can do so with English descriptions; but such descriptionsare often cumbersome, incomplete, ambiguous and can leadto misunderstandings (…see next two slides!) As an alternative, we will use conceptual modelsconceptual models (also calledvisual models) to describe proposed requirements anddesigns for the new system. Conceptual models (try to) capture people’s understanding(conceptualization) of what is being modeled. Conceptual models are usually represented in terms of agraph structure.Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 4Natural Languages can beAmbiguous This is clause 4 from the UN Security Council resolution 1441:[on Iraq]"Decides that false statements or omissions in the declarationssubmitted by Iraq pursuant to this resolution and failure byIraq at any time to comply with, and cooperate fully in theimplementation of this resolution shall constitute a furthermaterial breach of Iraq's obligations and will be reported to theCouncil for assessment in accordance with paragraphs 11and or 12 below.” The US apparently interprets this as meaning a materialbreach occurs if the declaration submitted by Iraq containsany false statements. Other security council membersinterpret it as meaning the breach only occurs if Iraq also doesnot cooperate with the inspection process.Page ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 5What’s the Problem? The clause has the following logical structure:(A or B and C and D) entails E where A = false statements [in the declarations submitted by Iraq] B = omissions in the declarations submitted by Iraq C = failure by Iraq at any time to comply with [this resolution] D = [failure by Iraq at any time to] cooperate fully in theimplementation of this resolution E = a further material breach of Iraq's obligations So the two proposed readings are as follows: ((A or (B and C and D)) entails E -- US interpretation ((A or B) and (C and D)) entails E -- other security councilmembers' interpretationInformation Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 6Computer SystemBusiness ProcessOrderItemShip viaConceptual Modeling ismodeling using a standardizedgraphical notationWhat is Conceptual Modeling?What is Conceptual Modeling?Page ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 7Origins There have been literally thousands of proposals for conceptual models,in several different areas within and outside Computer Science. Ross Quillian proposed in his PhD thesis semantic networkssemantic networks in orderto model the structure of human memory (1966) Ole-Johan Dahl proposed in 1967 SimulaSimula, an extension of theprogramming language ALGOL 60, for simulation applications whichrequire some “world modeling” Jean-Robert Abrial proposed a semantic modelsemantic model in 1974, shortlyfollowed by Peter Chen’ s Entity-relationship modelEntity-relationship model (1975) asadvances over logical data models, such as Codd’s Relational modelproposed only a few years before. Doug Ross proposed in the mid-70s the Structured Analysis andStructured Analysis andDesign TechniqueDesign Technique (SADTSADT) as a “language for communicating ideas”.The technique was used by Softech, a Boston-based company, in orderto specify requirements for software systems.Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 8Semantic NetworksNovel ideas Models are built out of conceptsconcepts and associationsassociationsInheritance of attributesInheritance of attributes -- strict or default, single or multiple Computation defined in terms of spreading activationspreading activation -- e.g.,discovering the meaning of “horse food”horse --> animal --> eat --> foodhorse --> animal --> madeOf --> meat --> foodAnimalAnimalBird Bird - can fly- can flyFish Fish - can swim- can swimMammalMammalPenguin Penguin - can- can’’t flyt flySharkSharkHumanHumaneatsFeatherFeatherhasisaisaisaisaisaPage ‹#›Information Systems Analysis and Design csc3402003 John Mylopoulos and Steve EasterbrookConceptual Modeling -- 9Simula (1966) Ole-Johan Dahl proposed it as an extension of the programminglanguage ALGOL 60, for simulation applications. A (simulation) program consists of classes and instances;instances are partly data structures and partly processes. Instances model the simulated application, classes definecommon features of instances, are organized into subclasshierarchies.personheightweightcoorscustomerhaircutPeriodhaircutPriceenterQueuepayBillnewC, delCpersonheightweightcoorsbarberShopqueuebarbersserveCustomergetPaymentnewBS, delBSpersonheightweightcoorsbarberhaircutTimesalarygiveHaircutnewB, DelBInformation Systems Analysis and
View Full Document