1 chapter 4 documenting information systems yong choi bpa csub
TRANSCRIPT
1
Chapter 4Documenting Information
Systems
Yong Choi
BPA
CSUB
2
System Concept
• A system exits by taking input from the environment , transforming (processing) input, and release an output
• A system may be decomposed (exploded) into subsystems
• Output of one subsystem may become the input of other subsystems
3
System Concept (con’dt)
TheSystem
is aProcess
input output
input
input output
output
Feedack andControl Loop
The System's Environment(constantly changing)
4
System Decomposition (General)
5
Decomposition Diagram (Hierarchy Chart)
6
Example of Decomposition Diagram
SoundStage Entertainment Club
7
Enter ServiceRequest
Client
Technician
Enter Work Record
Establish NewClient
Establish New Equip
Resolve ServiceRequest
Management
Establish New WorkType
Modify Work Type
Establish EquipType
«uses»
Enter Misc Charge
Enter ComponentInformation
EstablishComponent Type
Service Subsystem
Mgmt Subsystem
Equipment Subsystem
Check UnresolvedRequests
«uses»
Make ServiceStatistic Inquiry
Generate MonthlyInvoices
Time
Decomposition: Use-Case Diagram
8
Separating data and processes
• Characteristic
• System focus
• Design stability
• Data organization
• State of data
Data-orientation
Operation of Data
More stable as data needs change slowly
Designed for enterprise
Controlled
Process-orientation
what, when & how to do
Limited due to change in business processes
Designed for individual applications
unstructured
9
Separating data and processes
• Process-oriented approach– An IS development strategy that focuses on how and when data
are moved through and transformed by an IS
– Sequence of steps in the process-oriented approach:• define problem -> identify necessary decisions -> describe
information needs -> determine necessary processing -> specify data needs
• Data-oriented approach– An IS development strategy that focuses on the optimal
organization of data, not on where or how data are used
– Sequence of steps in the data-oriented approach:• define problem -> identify requirements -> develop data model for
each user's data -> integrate all the data models into an overall model
10
Process Modeling with DFD
Process Modeling is a technique for organizing and documenting the structure and flow of data through a system’s processes, and the logic, policies, and procedures to be implemented by a system’s processes.
A Data Flow Diagram (DFD) is a graphical modeling tool to depict the flow of data through a system and the work or processing performed by that system.
– What’s the system doing
11
Data Flow Diagrams (DFD)
• Key points for modeling– How data moves through the organization– Relationships between various data flows– Storage of data
• There are no FIXED rules about how a DFD should be developed…
• There is no such a DFD call “CORRECT DFD”…• Expert SAs may not need much…..but definitely
need for YOU!!
Developing a DFD
13
Simple Data Flow Diagram for Banking
14
Process Logic
• DFDs are effective tools for identifying processes, but are not good at showing all the detail logic inside those processes.– Not always easy to know what the lowest logical level is
• However, it is better than:– Flowcharts and Pseudocode (difficult for users to
understand).
15
Flowchart
Flowchart Limitations
• Complex logic: Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy.
• Alterations and Modifications: If alterations are required the flowchart may require re-drawing completely.
• Reproduction: As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.
• The essentials of what is done can easily be lost in the technical details of how it is done.
16
17
Pseudocode• This is the pseudocode for a Game of Monopoly, including one person's move as a
procedure:
Main Procedure Monopoly_Game Hand out each player's initial money. Decide which player goes first. Repeat
Call Procedure Monopoly_Move for next player. Decide if this player must drop out.
Until all players except one have dropped out. Declare the surviving player to be the winner.
Procedure Monopoly_Move Begin one's move. Throw the dice. Move the number of spaces on the board shown on the dice. If the token landed on "Go to Jail,"
then go there immediately. Else if the token landed on "Chance" or "Community Chest,"
then draw a card and follow its instructions. Else
follow the usual rules for the square (buying property, paying rent, collecting $200 for passing "Go", etc.).
End one's move.
18
Elements of a DFD
External Entity
Data Flow
Process
Data Store
DE MARCO & YOURDON NOTATIONS (Textbook)
19
Elements of a DFD
External Entity
Data Flow
Process
Data Store
GANE & SARSON NOTATIONS (more universal)
Pay Bill
AP Clerk
3
20
External Entities
• An External Entity is a provider (source) or receiver (sink) of data and information of the system
• External agents define the “boundary” or “scope” of a system being modeled.
SUPPLIER
21
External Entities …
• An external entity (agent) defines a person, organization unit, or other organization that lies outside of the scope of the project but that interacts with the system being studied. – As scope changes, external agents can become processes, and
vice versa.– Almost always one of the following:
• Office, department, division inside the business but outside the system scope.
• An external organization or agency.
• Another business or another information system.
• One of system’s end-users or managers
22
Data Stores
• A data store is an inventory of data. – A data store means “data at rest.” – A data flow means “data in motion.”
D1 Accounts Receivable
23
Data Stores …
– Almost always one of the following:• Persons (or groups of persons): e.g., customer• Places: e.g, cash register• Objects: e.g., product• Events (about which data is captured): e.g., sales• Concepts (about which data is important): e.g., discount
– Data stores depicted on a DFD store all instances of data entities (depicted on an ERD)
24
Data Flows
• A Data Flow represents an input of data to a process, or the output of data from a process.– A data flow may also be used to represent the creation,
reading, deletion, or updating of data in a “data store.”– A composite data flow (packet) is a data flow that consists of
other data flows.
• A Data Flow does not represent a document or a physical good: it represents the exchange of information in the document or about the good
DELIVERY SLIP
25
Processes
• A Process is a work or action performed on input data flow to produce an output data flow
• Use a verb to label the action performed by the process (not the name of person or department who does it as in physical DFD)
• A Process must have at least one input data flow and at least one output data flow.
1
Pay Bill
26
How to find each one…
• External Entities (EE) – people/organizations/things that supply information to or use
information from the system
• Processes (P)– actions/doing words/verbs
• Data Flows (DF)– movement/exchange of information/data between external
entities to processes, and processes to processes
• Data Stores (DS)– store/record information/data
27
DFD using Use-Case
• The actor that initiates the event– External entities
• The use cases– Will be handled by a process
• Inputs (or triggers) & outputs and responses– Will become a flow of data
** data store is a result of data flow..thus, need naming
creativity… **
28
DFD Naming Guidelines
• External Entity Noun
• Data Flow Names of data
• Process verb phrase
– a system name
– a subsystem name
• Data Store Noun
29
Guidelines for Developing DFD
1. Develop a list of business activities
– Similar to business rules of ERD
2. Create the Context Diagram (we know this)
– shows external entities and data flows to and from the
system: conceptual DFD
3. Create level 0 DFD (or Diagram 0 in textbook)
– shows general processes at the highest level
4. Create level 1 DFD (or Child Diagram in textbook)
– shows more detailed processes
30
Apply logical sequence of the system..
• A student (EE / DS) sends in an application form (DF) containing their personal details, and their desired course
• The university checks (P) that the course is available. • If the course (DS) is available the student is enrolled (P)
in the course, and the university confirms (P) the enrolment by sending a confirmation letter (DF) that they are registered for the course to the student.
• Or if the course is unavailable the student is sent a rejection letter (DF).
31
Level 0 Tips
• Generally move from top to bottom, left to right• Minimize crossed lines• Iterate as needed
– The DFD is often drawn many times before it is finished, even with very experienced systems analysts
32
Level 0 and 1 DFD Building Procedure
• Level-0 DFD – Identify what is being done between each input and
its corresponding output– Identify the processes– Identify external data flows between external entities
and processes– Identify internal data flows between processes and
data stores
33
Tips for Level 1 and Below
• Level-1 DFD’s– Sub-processes (primitive processes) of Level-0 processes
• Sources for inputs and outputs listed at higher level• List source and destination of data flows to processes
and stores within each DFD• Depth of DFD depends on overall system complexity
– Two processes generally don’t need lower level– More than seven processes become overly complex and difficult
to read
Context diagram for the example
External entity: StudentProcess: Student Administration process applicationData Flows: Application Form, Confirmation/Rejection Letter
35
Apply logical sequence of the system..
• A student (EE / DS) sends in an application form (DF) containing their personal details, and their desired course
• The university checks (P) that the course is available. • If the course (DS) is available the student is enrolled (P)
in the course, and the university confirms (P) the enrolment by sending a confirmation letter (DF) that they are registered for the course to the student.
• Or if the course is unavailable the student is sent a rejection letter (DF).
Level-0 DFD
• External entity: Student• Processes: Check course available, Enroll
student, Confirm Registration• Data Flows: Application Form, Course Details,
Course Enrolment Details, Student Details, Confirmation/Rejection Letter
• Data Stores: Courses, Students.• Also see the “Lemonade Stand” example from
the class website
36
37
38
Rules in DFD Building
• Rule 1 : Use only DFD notations to avoid confusion
• Rule 2 : Use an action VERB to label a process (because a process is an action !!!)
39
Rules in DFD Building ...
• Rule 3 : Must be one process associated with each data flow …
M
M
40
Detail Rules in DFD Building ...
• Rule 3 : Must be one process associated with each data flow …
M N
M N
41
Detail Rules in DFD Building ...
• Rule 3 : Must be one process associated with each data flow.
42
Detail Rules in DFD Building ...
• Rule 4 : Shaded corner must appear in ALL occurrences of a duplicated symbol in a same diagram
CUSTOMER
CUSTOMER
D3
D3
Accounts Receivable
Accounts Receivable
43
Detail Rules in DFD Building ...
• Rule 5 : No process without output data flow (black hole !!!)
44
Detail Rules in DFD Building ...
• Rule 6 : No process without input data flow (miracle !!!)
45
Detail Rules in DFD Building ...
• Rule 7 : No need for routing (without transforming) a data flow with a process (non value-added activities !!!)
Info A Info A
46
Detail Rules in DFD Building ...
• Rule 8 : Identical input, output data flows for parent and child processes (but the child processes can have their own throughputs)– See the picture in next slide
47
Detail Rules in DFD Building ...
M
N
P
1 2
3
M
N
P
Context Diagram
Level-0 Diagram
48
Detail Rules in DFD Building ...
• Rule 9 : Data flows cannot split by themselves
49
Detail Rules in DFD Building ...
• Rule 9 : Data flows cannot split …
50
Detail Rules in DFD Building ...
• Rule 10 : A data packet can combine many data elements being transmitted at the same time to the same destination
51
Detail Rules in DFD Building ...
• Rule 11 : Double-headed arrows are forbidden [in- flow (update) and out-flow (extract info) of a data store are different]
52
Common Process Errors on DFDs