590 likes | 859 Views
Systems Analysis and Design. Plan. Introduction Structured Methods Data Flow Modelling Data Modelling Relational Data Analysis Feasibility Maintenance. Plan. Introduction Structured Methods Data Flow Modelling Data Modelling Relational Data Analysis Feasibility Maintenance.
E N D
Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • Feasibility • Maintenance
Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • Feasibility • Maintenance
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
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
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
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
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
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
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
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?
DocFD Elements • Entity (also called ‘Agencies’) • Symbol • Duplicate symbol acustomer acustomer
DocFD Elements • Document Flow Sales Order
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers dbar/restaurant weekly statement (copy) caccounts dept Example Diagram (CD Hotel)
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
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers dbar/restaurant weekly statement (copy) caccounts dept Example Diagram (CD Hotel)
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers dbar/restaurant weekly statement (copy) caccounts dept Example Diagram (CD Hotel)
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers weekly statement (copy) dbar/restaurant caccounts dept Example Diagram (CD Hotel)
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
Data Dictionary Entry (Mason and Wilcocks, 1994)
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
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers dbar/restaurant weekly statement (copy) caccounts dept Example Diagram (CD Hotel)
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers dbar/restaurant weekly statement (copy) caccounts dept Example Diagram (CD Hotel)
aguest booking+deposit payment confirmation weekly statement bbooking dept final statement deposit vouchers weekly statement (copy) dbar/restaurant caccounts dept Example Diagram (CD Hotel)
aguest booking+deposit confirmation CD HotelBookings weekly statement bbooking dept final statement deposit vouchers weekly statement (copy) dbar/restaurant caccounts dept Example Diagram (CD Hotel)
DFD Context Diagram We now know what Systemwe are going to develop
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
1 Sales Assistant 2 Accounts Dept Create Reservation Maintain Sales Account * Elements of a DFD • Process Box • Symbol • Active Component • What goes in must come out or be transformed • Physical or Logical? Indicates Process at lowest level of detail
Sales Order 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
M1 M1 Sales File Sales File Elements of a DFD • Data Store • Symbol • Duplicate • Passive Component • Does not process data • Manual or Digital (M/D)
Elements of a DFD • External Entity • also called ‘Agencies’, source and sink • Symbol • Duplicate symbol acustomer acustomer
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
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
aguest booking+deposit confirmation CD HotelBookings weekly statement bbooking dept final statement deposit vouchers weekly statement (copy) dbar/restaurant caccounts dept Example (CD Hotel)
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 Identifying Processes
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
aguest booking+deposit confirmation CD HotelBookings weekly statement bbooking dept final statement deposit vouchers weekly statement (copy) dbar/restaurant caccounts dept Example (CD Hotel)
aguest 1 Reception Create Booking Example (CD Hotel) aguest CD Hotel Bookings baccounts dept
These may be obvious: File Catalogue Tray Folder Database ..or implied Check against Put into Read Identifying data Stores
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
aguest 1 Reception Create Booking Example (CD Hotel) aguest CD Hotel Bookings baccounts dept
acustomer 1 Reception Create Booking M1 M2 M3 Vacancy List Reservation file Guest account Example (CD Hotel) aguest CD Hotel Bookings baccounts dept
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
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