1SSPD Back to Jackson Consider how JSP views programming- –Describe structure I/O datastreams –Combine to produce a program structure –List operations.

Slides:



Advertisements
Similar presentations
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Advertisements

Copyright Irwin/McGraw-Hill Data Modeling Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Information System Engineering
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
March 15, 2004CS WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Chapter 7 Using Data Flow Diagrams
Topics Creating DFD Physical and logical DFD Event driven modeling
1 Lecture 2: Elaboration Tasks and Domain Modeling.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Chapter 9 Using Data Flow Diagrams
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
Database Design Concepts Lecture 7 Introduction to E:R Modelling Identifying Entities.
DATA FLOW DIAGRAMS IT 155.
Case Study: Class Extraction.
Course Instructor: Aisha Azeem
C++ fundamentals.
Software Engineering Case Study Slide 1 Introductory case study.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Chapter 5: Modeling Systems Requirements: Events and Things
Modeling Systems Requirements: Events and Things.
Modeling System Requirements:Events and Things
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Designing Classes OO Software Design and Construction Computer Science Dept Va Tech January 2002 ©2002 McQuain WD & Keller BJ 1 Designing the Classes Once.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Modeling System Requirements:
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Week 5: Business Processes and Process Modeling MIS 2101: Management Information Systems.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Chapter 7 Using Data Flow Diagrams
CB1004 Modelling Business Systems 71 Modelling Business Systems 7 Systems Methods.
Data Modelling – ERD Entity Relationship Diagram’s Entity Relationship Diagrams and how to create them. 1.
CS 350 – Software Design The Object Paradigm – Chapter 1 If you were tasked to write code to access a description of shapes that were stored in a database.
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
Software Design Deriving a solution which satisfies software requirements.
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
JSD Networking Building the System Specification.
1SSPD Jackson System Development From Models to Networks.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
1. Objectives At the end of this chapter you should be able to:  Discuss the use and features of a data model  Define the terms entity and attribute.
2.1 DEFINE THE PROJECT STRATEGY The project is a vehicle for the execution of strategy both organization and individual. This implies that a high level.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Database Design. The process of developing database structures from user requirements for data a structured methodology Structured Methodology - a number.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
The Software Development Process
1 CS161 Introduction to Computer Science Topic #9.
English Language Services
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Relational Algebra p BIT DBMS II.
Requirement Classification Nisa’ul Hafidhoh Teknik Informatika
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
Year 12 > 13 Applied GCE ICT Unit 7 Using Database Software.
5 Chapter 5: Modeling Systems Requirements: Events and Things Systems Analysis and Design in a Changing World.
Architecture Concept Documents
Chapter 10 Object States and The Statechart Diagram
INSTRUCTOR: MRS T.G. ZHOU
Presentation transcript:

1SSPD Back to Jackson Consider how JSP views programming- –Describe structure I/O datastreams –Combine to produce a program structure –List operations necessary to produce outputs; put each operation in place in program structure –Write the program text adding conditions as needed for controlling iterations & selections.

2SSPD Description First In JSP we first describe the subject matter of the problem. Then we turn attention to functional details Notice how technical detail is relegated.

3SSPD Abstraction in JSP Notice that the models we build (the data structure) are abstract descriptions of the real world. Whatever we include in the model can be used to produce system outputs. If it isn’t in the model, we can’t produce outputs in respect of it.

4SSPD JSD Same Foundations The subject matter in JSD is the real world, strongly ordered in time, outside the system Detailed function is production of system outputs Early development concerned with description of real world. Explicit consideration of function deferred.

5SSPD JSD JSD does not start from a given specification, nor does it decompose the system into sequential processes. Instead, development begins by creating a specification for the system, building it up from parts which are themselves sequential processes.

6SSPD Synthesis Therefore, we say that JSD is an activity of synthesis rather than decomposition. Used to develop systems in whose real world subject matter it is important to recognise occurrence of events within a time dimension.

7SSPD KEY IDEA It is claimed that easier to build more maintainable systems with JSD… …because the model of real world is a stable basis for development, being less likely to change than the functions built upon it.

8SSPD Model & Function In JSD we say that –the model implies function –i.e., we can specify any function in terms of members of the model. But in dysfunctional decomposition –the functions imply the model –i.e., we build a model in terms of required functions. This is inherently less flexible.

9SSPD

10SSPD Car Hire Revisited Let’s take a JSD view of the car hire problem. What is the real world of the car hire firm’s manager? The hiring and returning of vehicles. Thus we can model a vehicle

11SSPD Model of Vehicle VEHICLEPURCHASEDISPOSE WORKING LIFE HIRING HIRE RETURN *

12SSPD Model Implies Function The requirements for the system were (in order):- –Display number of hirings –Display average hiring duration Functional spec:- –Inspect model and count all hire events –Inspect model and evaluate period for each vehicle. –etc.

13SSPD Model Implies Function II Second requirement:- –Display longest hiring Functional spec:- –Inspect model, for each hiring evaluate duration –Calculate longest period

14SSPD Model Implies Function III The third requirement was:- –Display hirings < 1 week –Display hirings >= 1 week Functional spec:- –Inspect model. For each hiring, calculate duration. If 6 days or less put in one batch else put in the other.

15SSPD Model Implies Function IV The final requirement was:- –Allow the system to run at any time even when there are outstanding returns Functional specification:- –Inspect the model. For each of the above requirements, ignore any hiring which has a hire event but no matching return event.

16SSPD Immortality? Is a JSD system therefore immortal?

17SSPD Jackson System Development Introduction

18SSPD Warning! Some of the concepts in JSD are not easy to grasp at first

19SSPD Data Modelling Recall the data modelling relation: What does is-a- supplier-of mean? Discuss relation in terms of events.

20SSPD Understanding Relations Natural way to understand meaning of relation is to consider the real world events that affect it. Natural way to explain relation is in terms of those real world events. Event occurrence more basic than existence of a relation, thus that is where we will start our modelling.

21SSPD Events in JSD Events are: –atomic –instantaneous (both ideas are abstractions) Example: lending a book in a library system

22SSPD Event Attributes What, who, when, where etc… E.g., what was lent? When was it lent? Who lent it and to whom? etc. Gives us attributes such as: –date, –ISBN –Borrower id etc. etc. for the LEND event

23SSPD Define Event Classes LEND (Book_Id, Member_Id, Resvn_Id, Date) –A book, whose identifier is Book_Id, is lent to the member whose membership number us Member_Id; date is the date of removal of the book from the library's premises; Resvn_Id is the identifier of the relevant reservation if the cook is borrowed against a previous reservation.

24SSPD Importance of Events Initial description in terms of what happens in the real world Doing this begins to scope the eventual system Narrative gives link between the formal system spec we are building and the real world as understood by its users

25SSPD Objects & Event Orderings Picture is not complete. Events are participated in by real world objects (e.g. librarians and borrowers) We want to describe these objects that persist over time Analysing event traces helps us to identify the objects of interest

26SSPD Event Trace Analysis …Hire (Veh 3), Ret (Veh 2), Purchase (Veh 9), Hire (Veh 2), Hire (Veh 9), Hire (Veh 3), Ret (Veh 2), Ret (Veh 3), Ret (Veh 9)…Dispose (Veh 2), Hire (Veh 9), Ret (Veh 9), Dispose (Veh 9)… Analysis of this elicits time ordered event lists From this we derive candidate entities

27SSPD Entities Entity persists over time & participates in time ordered event traces. VEHICLEPURCHASEDISPOSE WORKING LIFE HIRING HIRE RETURN *

28SSPD Entity State Entities have state. State is recorded in entity’s fields (its instance variables) The entity state vector will store info about the entity’s event history E.g., Vehicle’s present state is ‘ON HIRE’, previous states include PURCHASE, HIRE, RETURN etc.

29SSPD Entity Attributes Attributes specified in terms of events E.g., HIRE_COUNT Also need to specify what attributes mean E.g., is HIRE_COUNT incremented upon hiring out, or upon return? What does attribute in-the-company mean?

30SSPD Definitions of Event –Something that happens to which the system has to respond…they cause a response in the system and an update to the information stored within the system [Sutcliffe] –An event in the world that forms the subject matter of the system and about which the system must produce or use information [Cameron]

31SSPD Definitions of Entity –Object of interest in the system which will undergo or cause change during system’s activity [Sutcliffe] –Object in the real world which participates in a time-ordered set of actions [Jackson] –Person, organisation or object that performs or suffers an interesting time sequence of actions [Cameron]

32SSPD Finding Events Events are atomic so reject those actions that are vague or that imply continuous actions Ignore (for the moment) any actions which imply output or responses in the real world. In the modelling phase events are those actions which respond in some way to input messages

33SSPD Guidelines –Decide on the external events which happen in the real world (e.g. customer orders goods) –Define how these events are communicated to the system as input (e.g. phone call is made) –Identify system inputs (action attributes) (e.g. a verbal order) –Define actions necessary to respond to messages in action attributes (e.g. despatch goods).

34SSPD Action Attributes Are answers to reasonable questions we might ask about an event –e.g., what was lent, who lent it etc.

35SSPD Finding Entities Start by analysing event traces (could be a lot of work here!) Look for real world objects with which the system must interact What is the main thing for which the system exists? Entities could be the nouns in event descriptions

36SSPD Try this Out Have a go at the Stitch in Time company.