Download presentation
Presentation is loading. Please wait.
1
Systems Analysis and Design
2
Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance
3
Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance
4
Data Flow Modelling
5
What are Data Flow Models? A model of the system –Software modelling is unlike other types of modelling A communication tool –Should be clear and unambiguous An analysis tool –Should help us to understand systems A design tool –Should help us to develop and improve systems
6
What are Data Flow Models? They only represent a single view of the system We cannot describe the system fully in a single diagram Represents the Process View –What processes act on data as it flows through our system
7
When do we use them? Feasibility –High Level of abstraction –Enough Detail to estimate Data/Processing requirements Analysis –Analysis of Current System and Requirements Design –Used as source for design of new system
8
Structured Analysis + Design Existing System ERD Repository Existing Physical System DFD New System ERD Repository New Logical System DFD Convert to Logical View User Requirements Technical Options + Constraints New Physical System
9
What do they look like? As usual there are a number of “standards” for drawing DFDs They share a set of common elements –Data Flows –Processes –Entities –Data Stores
10
Example 1 – Gane and Sarson
11
Example 2 – DeMarco/Yourdon
12
Example 3 - SSADM
13
What do they look like? We will use the SSADM style Used in Lejk and Deeks, 2002 You should be able to read diagrams using another style
14
How do we build one? Top down –More likely to be done in Tutorials –Good way of learning the technique –More detail added in successive iterations Bottom up –More likely to be done in practice –Interviews provide localised detail not context
15
Building a Data Flow Model Understand the system Establish the context Identify major processes Identify Data Flows: –What do processes produce as output –What Data is required to produce output Identify other elements –Where does data come from/go to Check against System Description
16
Document Flow Diagram (DocFD) A precursor to DFDs A good way of establishing the context Identify the entities in the system (departments) Identify documents flowing between them Establish system boundary Bottom up and top down?
17
DocFD Elements Entity (also called ‘Agencies’) –Symbol –Duplicate symbol a customer
18
DocFD Elements Document Flow Sales Order
19
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
20
Identifying the system boundary This is rarely an easy task There may be different opinions on this boundary Unless it is finalised development will fail Once identified, the boundary will be clearly stated in the terms of reference for the project
21
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
22
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
23
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restauran t booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
24
Document Definitions It is important at this stage to identify the information in the documents that flow across the system boundary These will inform us of the interface between the system and external entities –Data Interface and possibly GUI These will form the basis of our data dictionary
25
Data Dictionary Entry (Mason and Wilcocks, 1994)
26
DFD Context Diagram Now that the system boundary has been established we can show the context in which our system operates –All internal details are removed –System boundary is changed to a process box –All input and output data flows have been identified
27
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
28
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
29
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit payment weekly statement final statement confirmation vouchers weekly statement (copy) deposit
30
Example Diagram (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit weekly statement final statement confirmation vouchers weekly statement (copy) deposit CD Hotel Bookings
31
DFD Context Diagram We now know what System we are going to develop
32
Adding More Detail Now we have established the system context we can start adding more detail To do this we create a Data Flow Diagram (DFD) –Identify Processes –Identify Data Flows –Identify Data Stores –Connect them to External Entities
33
Process Box –Symbol Active Component What goes in must come out or be transformed Physical or Logical? Create Reservation 1 Sales Assistant Maintain Sales Account 2 Accounts Dept * Elements of a DFD Indicates Process at lowest level of detail
34
Elements of a DFD Data Flow Does not change data from end to end –Changes imply there is a process – so add one Used to create the data model – must be labelled Sales Order
35
Elements of a DFD Data Store –Symbol –Duplicate Passive Component Does not process data Manual or Digital (M/D) Sales File M1 Sales File M1
36
Elements of a DFD External Entity –also called ‘Agencies’, source and sink –Symbol –Duplicate symbol a customer
37
Example - SSADM
38
Example (CD Hotel) When a guest sends us a booking, with deposit, we change the vacancy list to show one less and enter the customer details into the reservation file. The cash from the deposit is sent to the accounts department. A letter of confirmation is sent to the customer and we also open a guest account in our ledger
39
Example (CD Hotel) When a guest sends us a booking, with deposit, …we change the vacancy list to show one less …and enter the customer details into the reservation file The cash from the deposit is sent to the accounts department A letter of confirmation is sent to the customer …and we also open a guest account in our ledger
40
Example (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit weekly statement final statement confirmation vouchers weekly statement (copy) deposit CD Hotel Bookings
41
Identifying Processes High Level Processes can often be identified as business functions –Accounts –Sales –Purchasing Lower level Processes will be implied by verbs such as –Create –Sort –Compile –Change
42
Example (CD Hotel) When a guest sends us a booking, with deposit, …we change the vacancy list to show one less …and enter the customer details into the reservation file The cash from the deposit is sent to the accounts department (splitting documents) A letter of confirmation is sent to the customer …and we also open a guest account in our ledger
43
Example (CD Hotel) a guest b booking dept c accounts dept d bar/restaurant booking+deposit weekly statement final statement confirmation vouchers weekly statement (copy) deposit CD Hotel Bookings
44
Example (CD Hotel) CD Hotel Bookings Create Booking 1 Reception a guest b accounts dept
45
Identifying data Stores These may be obvious: –File –Catalogue –Tray –Folder –Database..or implied –Check against –Put into –Read
46
Example (CD Hotel) When a guest sends us a booking, with deposit, …we change the vacancy list to show one less …and enter the customer details into the reservation file The cash from the deposit is sent to the accounts department A letter of confirmation is sent to the customer …and we also open a guest account in our ledger
47
Example (CD Hotel) CD Hotel Bookings Create Booking 1 Reception a guest b accounts dept
48
Example (CD Hotel) CD Hotel Bookings Create Booking 1 Reception M1Vacancy List M2Reservation file M3Guest account a guest a customer b accounts dept
49
Identifying data flows These will be present wherever there is movement of data between: –A data store and a process –An entity and a process –Two processes But Never: –Between data Stores –From an entity to a data store
50
Example (CD Hotel) When a guest sends us a booking, with deposit, …we change the vacancy list to show one less …and enter the customer details into the reservation file The cash from the deposit is sent to the accounts department A letter of confirmation is sent to the customer …and we also open a guest account in our ledger
51
Example (CD Hotel) CD Hotel Bookings Create Booking 1 Reception M1Vacancy List M2Reservation file M3Guest account a guest a customer b accounts dept
52
Example (CD Hotel) CD Hotel Bookings Create Booking 1 Reception booking+deposit M1Vacancy List M2Reservation file M3Guest account a guest a customer b accounts dept guest details room details deposit confirmation deposit
53
Errors Do not join data stores to data stores Do not join data stores to entities Any change in data implies a process – so add one If data comes out of a process – it must have got in somehow Do not give any impression of time Do not show triggers (e.g. start)
54
Guidelines Draw one to throw away – you’ll never get it right first time Identifying the entity that starts the system process can help Develop one process at a time A process is always on Read Lejk and Deeks from cover to cover
55
Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance
56
References Whiteley, D. (2004) Introduction to Information Systems, Palgrave, 2004. Lejk, M. and D. Deeks (2002) Systems Analysis Techniques, Addison Wesley 2002 Mason, D. and L. Willcocks (1994), Systems Analysis, Systems Design, Alfred Waller, 1994.
57
References Yeates, D. and T. Wakefield (2004) Systems Analysis and Design, FT/Prentice Hall 2004 Gane, C. and T. Sarson (1979) Structured Systems Analysis, Prentice Hall, 1979 Eva, M (1994) SSADM Version 4: A users guide, McGraw hill, 1994
58
References DeMarco, T. (1979) Structured Analysis and System Specification, Yourdon, 1979 Royce, W. (1970) Managing the development of large software systems, In: Proceedings of IEEE WESCON, 1970 pp1-9.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.