Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi...
-
date post
20-Dec-2015 -
Category
Documents
-
view
216 -
download
1
Transcript of Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi...
![Page 1: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/1.jpg)
Lecture 9
ISM- © 2010 Houman Younessi
Information Systems
Spring 2011
Convener:
Houman Younessi
1-860-548-7880
![Page 2: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/2.jpg)
Lecture 9
A system is identified in terms of the single goal it is to achieve. A system name is a cognitive handle that allows the identification and communication of a particular coherent and purposeful set of activities. A system name is usually presented in the form of:
“A system to do/be/achieve X”
Example:
A system to generate birth certificates
A system to generate reusable components
A system to provide a uniform computing platform across government agencies
All these may actually refer to the same application software!
System
![Page 3: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/3.jpg)
Lecture 9
Software Development is a form of System Development
System Development entails the processes of:
Finding out what is the problem
Arriving at a solution
Delivering on a good solution
Discovery
Invention
Construction
![Page 4: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/4.jpg)
Lecture 9
Analysis
Design
Implementation
So “analysis and design” is all about identifying what the problem is and to propose one or several solutions to rectify the
problem.
What is the problem?
What is a solution?
How do we deliver on a good solution?
Discovery
Invention
Construction
![Page 5: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/5.jpg)
Lecture 9
Figuring out the problem.
The problem that is to be figured out is immersed in the real world.
The real world (the problem situation) is a web of interactions of amazing complexity
To have a chance, we need to be able to focus only on what is:
RELEVANT
![Page 6: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/6.jpg)
Lecture 9
We need therefore to concentrate on:
Those elements about which we need to ask questions,
Those elements about which we need to answer questions
We also need to make sure that:
Only those elements that are of our direct and immediate concern are focused on at any one time.
![Page 7: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/7.jpg)
Lecture 9
The first of these is called:
The second is called:
CONTEXTUALIZATION
ABSTRACTION
![Page 8: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/8.jpg)
Lecture 9
Once we have understood the problem, we need to:
Communicate our understanding:
To ourselves at a later time
To others
To do so, we need to capture, retain and communicate what is relevant and in context.
This is called Modeling
![Page 9: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/9.jpg)
Lecture 9
Modeling is therefore a fundamental element of analysis and as such a vital part of software development.
In order to capture, retain and communicate what is needed, the modeler has to use a language. This is called:
The Modeling Language
The modeling language has to contain the vocabulary and the grammar of the modeling approach utilized.
![Page 10: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/10.jpg)
Lecture 9
What’s there?
How does it happen?
When does it happen?
(or in what sequence?)
Things and static relationships
Change
Order and timing of change
![Page 11: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/11.jpg)
Lecture 9
Things and static relationships
Change
Order and timing of change
Structure
Transformations
Causal (sequential) relationships
For all deterministic systems we must capture all that is relevant of these three aspects, if we are to have sufficient
understanding of them.
![Page 12: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/12.jpg)
Lecture 9
System ModelingIn SE, we have an array of notations and diagrams for modeling in each of these three views.
Structure ModelingEntity Relationship Diagrams, Formal Structural Models (e.g. Z, Object Z or VDM), Class Diagrams,…
Transformational ModelingTransformational Relations(Functional Specification), Activity Diagrams , Data Flow Diagrams (with specification), Flow Charts, …
Causal (Dynamic) ModelingSequence Diagrams, Collaboration Diagrams, State-charts (State Transition Diagrams), Petri-nets, Entity Life Histories,…
![Page 13: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/13.jpg)
Lecture 9
Structure modeling is modeling of things and their situational relationships. A photograph is a good structure model. It shows things that were there when the picture was taken and how they were situated with respect to one another.
We can similarly compose diagrams or other models of a problem situation in which we depict all the relevant things and relationships.
There are many ways to do this. We shall discuss the three most popular and prevalent of these. Namely:
Entity Relationship Modeling which is used mainly for database design
Formal Schemas and Formal Object Schemas (using Z and Object Z)
Class Diagrams (using UML) used mainly as part of object oriented modeling
Structure Modeling
![Page 14: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/14.jpg)
Lecture 9
Entity Relationship (ER) Modeling:
This is an informal (or semi-formal) approach to structure modeling in which a situation is studied so that static and persistent elements in it are identified, along with their static relationships. A collection of like elements is called an entity. A mapping of elements of one entity onto another entity (or itself) is called a relationship.
Entities are defined in terms of a name and a set of attributes. Relationships are defined in terms of a verb phrase (e.g. works-for) that establishes the nature of the mapping between the entities.
The results of ER modeling are almost always shown using diagrams. There are many different conventions. In the absence of an industry standard, we use a popular one here of my preference.
Structure Modeling
![Page 15: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/15.jpg)
Lecture 9
Example:Employee
Name:
SSN:
Salary:
DepartmentName:
Location:
Budget:
Works-Form 1
This means that there are many elements belonging to the set Employee (i.e. many persons employed) each is mapped into (has a relationship with) only one element belonging to the entity Department (a specific department). The relationship is that this particular employee works for one specific department. For each employee we keep his or her name, social security number and current salary. For each department we keep the name of the department, its location and its budget.
You have already learned this modeling approach earlier in the course.
Structure Modeling
![Page 16: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/16.jpg)
Lecture 9
Formal Object Schemas: Object Z
Stack[T]max:N
items: seq T
#items max
INITitems = ‹ ›
Push( items)
#items < maxitems’ = ‹item?›⁀items
item?:T
Structure Modeling
![Page 17: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/17.jpg)
Lecture 9
Pop( items)
item! ‹ ›items = ‹item!›⁀items’
item!:T
top( items)
item! ‹ ›items’ = items
item!:T
Structure Modeling
![Page 18: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/18.jpg)
Lecture 9
There are many different approaches to causal modeling. Whilst they all attempt to do the same thing, they are not all of the same level of capability, formality, ease of use or learnability. In this course we cover a number of popular approaches to causal modeling, including:
Entity Life Histories
The UML suite of dynamic modeling facilities, which include
Petri-nets
Sequence diagrams
Collaboration diagrams
State diagrams
Causal Modeling
![Page 19: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/19.jpg)
Lecture 9
Entity Life Histories
These are diagrams that depict the various states of a class or type of object from inception to demise. Usually used in relation to persistent database “entities”, they can become overwhelmed if the states are too numerous or the object can possess concurrent states. They also do not necessarily depict the events that lead to state transitions.
EMP
CREATE INIT UPDATE REPORT RETIRE ARCHIVE* *
Causal Modeling
![Page 20: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/20.jpg)
Lecture 9
Transformation modeling is the third modeling view. It answers the question “how”.
Depending on level of granularity there are many techniques. Including:
Abstraction Level:
Dataflow Diagrams
Activity Diagrams
Low Level:
Pseudo-code
Flowcharts
etc.
Not part of UML
Transformational Modeling
![Page 21: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/21.jpg)
Lecture 9
Flow charts
Flow charts depict the flow of control. They show how operations are performed and decisions made by depicting how the control in the program is exchanged from the beginning to the end of all paths of interest.
Flow charts show how the program works.
Flow charts are composed of a number of node types and one type of arc. The node types are:
Start/End node Transformation node Decision node Link node Special processing nodes Logic nodes
Transformational Modeling
![Page 22: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/22.jpg)
Lecture 9
Flow charts can be high level or low level
High level flow charts depict the flow of control at a high level of granularity, such as the organization or the entire system. Low level ones usually depict the flow of control in a specific program unit.
The difference between a high level and low level flow chart is that in a low level flow chart all transformational nodes contain transformations that can not be usefully broken down to simpler flowcharts themselves. By this we mean doing so would produce transformation at a lower level of granularity than that of the target programming language.
Transformational Modeling
![Page 23: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/23.jpg)
Lecture 9
Flow chart nodes:
Start/End nodes: These mark the beginning and end of a flow within a flowchart
Transformation nodes: These show a logical step taken
Terminator
Transformation Alternate transformation
Manual transformation
Transformational Modeling
![Page 24: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/24.jpg)
Lecture 9
Decision nodes: These show alternate conditions or paths the flow may take
Link nodes: These connect various parts of the diagram (e.g. continue on next page)
Logic nodes: These are logical operators such as AND, OR and NOT
Condition
AND OR NOT
On page connector
Off page connector
Transformational Modeling
![Page 25: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/25.jpg)
Lecture 9
Special processing nodes: These are nodes that depict specific large scale processing or machine interaction. Useful in the early days when flowcharting was amongst the only modeling methods available, they are now largely disused.
Manual input
Disk Other mag. storage
Stored data Punched tape Punched card
Seq. Access device
Console or display
Extract Merge Sort Collate Internal storage
Delay
Transformational Modeling
![Page 26: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/26.jpg)
Lecture 9
Start
End
Read N
N>0
T
F
Read A,B
A=A+B N=N-1
N=0F
T
Write A
Transformational Modeling
![Page 27: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/27.jpg)
Lecture 9
Data Flow DiagramsData flow diagrams depict the flow of data. They show how data received as input is changed to outputs by the various operations performed.
Data flow diagrams show how the data changes.
Basic data flow diagrams are composed of a number of node types and one type of arch. The node types are:
External Entities (Sources and Sinks) Processing node
Data-stores Link nodes
Transformational Modeling
![Page 28: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/28.jpg)
Lecture 9
External entities (sources and Sinks): These are entities outside the scope of our focus that provide the inputs from the outside or receive the outputs generated. They are labeled by a noun or an object or class name.
Process nodes: These depict the processing that is done to the inputs into that process to form the output. Usually these nodes are labeled by a verb phrase representing the nature of the processing to be done and a number sequence depicting the process and its level
Customer
Book seatBook seat
1.4.71.4.7
Transformational Modeling
![Page 29: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/29.jpg)
Lecture 9
Data-stores: These are buffers where interim outputs generated are stored for future usage. Data-stores are usually named.Link nodes: They connect the various parts of the diagrams to yield a less cluttered result. They are usually numbered or carry a symbol.
Primary Buffer
The only arc is called a dataflow and it depicts the flow of data (as input into or output from) an external entity or process. They are usually named.
client address
22
Transformational Modeling
![Page 30: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/30.jpg)
Lecture 9
Example DFD
1.2.1
Validate Sell
1.2.2
Prepare SX Transaction
1.2.3
Register Transaction
Account
Invalid Req. Advice
Transaction A
dvice
Sell Validation
Trans. Confirmation
Sell Details
Account Update
Sell Advice
No. of Stock owned
Account Sell
Market Stock Price
Sell Stock; Level 3
Transformational Modeling
![Page 31: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/31.jpg)
Lecture 9
Data Flow diagrams may depict a situation at multiple levels of granularity. By that we mean a process in a data flow diagram may be decomposed into an entire new dataflow diagram at a lower level, and so on. At each lower level, there will be more detail of the model visible. Conversely, one can say that a higher level process can be described in terms of a dataflow diagram composed of simpler, lower level processes, data flows and data-stores. However this decomposition process must stop at some stage. At that stage we shall still have a dataflow diagram that only depicts the transformation of inputs to outputs of various processes. It however does not say HOW each leaf level process should achieve this. This may be obvious but is not defined.
Transformational Modeling
![Page 32: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/32.jpg)
Lecture 9
Dataflow diagrams are more so a mechanism for abstraction than a transformational modeling technique. They must be accompanied by a complementary mechanism that defines the leaf level transformations. Something like a flowchart of each leaf process, a pseudo-code, mathematical equation, truth table or formal definition is needed.
Important Note:
Transformational Modeling
![Page 33: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/33.jpg)
Lecture 9
Pseudo-code:begin
Read r,a;
Declare x,y;
if { (a) L.T. 0
a=(-1)*a; };
Set x to r*sin(a);
Set y to r*cos(a);
Write x;
Write y;
end
Convert to Cartesian
1.5.6r
a
x
y
Transformational Modeling
![Page 34: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/34.jpg)
Lecture 9
Mathematical expression:
)cos(
)sin(
ary
arx
Convert to Cartesian
1.5.6r
a
x
y
Desc. For 1.5.6
Transformational Modeling
![Page 35: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/35.jpg)
Lecture 9
Activity diagrams depict the processing aspects of the system. They are similar to flowcharts except:
ACTIVITY DIAGRAMS
Activity charts allow synchronization
They are similar to dataflow diagrams except:
Transition between activities is via conditions not data. Activity charts allow synchronization
Transformational Modeling
![Page 36: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/36.jpg)
Lecture 9
Order ProcessingFinance
Receive
Order
Receive
Supply
Select Outstanding order item
Assign Goods to
OrderAssign Item to Order
Reorder
Item Add Remainder
to Stock
Check Line Item
Cancel Order
Check order
Authorize payment
[failed][succeeded]
Dispatch Order [Stock assigned to all line items and payment
authorized]
*[for each line item on order]
* [for each chosen order item]
[in stock]
[all outstanding order items filled]
[notify supply]
[out of stock]
Stock Manager
Transformational Modeling
![Page 37: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/37.jpg)
Lecture 9
Structure Transformation Causality
Objects
Classes
Relationships
Inputs
Outputs
Transformations
Events
States
Sequences
ENCAPSULATION
![Page 38: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/38.jpg)
Lecture 9
UML has a an array of notations and diagrams for modeling in each of these three views.
Structure Modeling
Class notation, object notation, Associations, Links, Class diagrams, object diagrams,…
Transformational ModelingActors, Transformational relations, Use Case diagrams, Context Diagrams, Activity diagrams ,Transformational definitions, …
![Page 39: Lecture 9 ISM- © 2010 Houman Younessi Information Systems Spring 2011 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.](https://reader038.fdocuments.us/reader038/viewer/2022103022/56649d445503460f94a20911/html5/thumbnails/39.jpg)
Lecture 9
Causal (Dynamic) Modeling
Events, Activities, Actions, Transitions, States, Sequence diagrams, Collaboration diagrams, Statechart diagrams, etc.…
In the next session we shall start with structural modeling and introduce some important elements of the UML
notation set.