440 likes | 529 Views
IMAT1906 Systems Development. Lecture week 9: systems analysis (4) : logical system, contd. Today’s Agenda. Data model Structured English Decision tables Checking the logical design Test strategy. Purpose.
E N D
IMAT1906 Systems Development Lecture week 9: systems analysis (4) : logical system, contd
Today’s Agenda • Data model • Structured English • Decision tables • Checking the logical design • Test strategy IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11
Purpose • As we model the logical system to meet the requirements, we have several techniques to use IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11
Modelling tools • There are several modelling tools we can use • Use case model • Data flow diagrams • Data model • Structured English • Decision tables • In the previous lecture we looked at • Use case model • Data flow diagrams IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11
Data model • As we have gathered requirements we have come across data that is needed for the system • We have put this into the data flow diagrams as data stores • Need to analyse the requirements and find the data requirements • Data requirements also arise from fact-finding, for example interviews or document analysis • Then need to model the data stores and outline what goes in them IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11
Data flow revisited 6 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • What is a data flow? • Represents some information that is passed from one part of a system to another • Between external entity and process • Between data store and process • Can be a single piece of data or a group of details
Data flow examples: from external entity 7 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Details of new book for seller’s list • Title, author, description, price • Login details • Username, password • Order for dinner • Table number, order lines • Order line: menu item, quantity • Search for book • Search criteria eg title or author
Data flow examples: to external entity 8 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • New book on seller’s list • Title, author, description, price • Successful sign-on message • Order confirmation message • Order number with table number, order lines • Order line: menu item, quantity • Possibly approximate time food ready to serve • Books matching search criteria • Title, author, description, price where title = search title
Data flow examples: to data store 9 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • New book for available list • Title, author, description, price, seller • New user details • Username, password • Order details • Order number with table number, order lines, time order taken • Order line: menu item, quantity • Amended book details • Title, author, description, price, status eg reserved
Data flow examples: from data store 10 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Books available for reservation • Title, author, description, price where status = public • Authorised user details • Username, password • Ordered item details • Order line: menu item, quantity, order number • Book details for display • Title, author, description, price, status where title = search title
Data flow examples for a DFD 11 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 From external entity ‘buyer’ to process ‘search by author’ Data flow : search criteria author = Smith
Data flow examples for a DFD (2) 12 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 External entity ‘buyer’ to process ‘search’ Data flow : search criteria author = Smith From process ‘search by author’ to datastore ‘list of public books’ Data flow : search criteria
Data flow examples for a DFD (3) 13 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 External entity ‘buyer’ to process ‘search’ Data flow : search criteria author = Smith Process ‘search’ to datastore ‘list of public books’ Data flow : search criteria From datastore ‘list of public books’ to process ‘display search results’ Data flow : books for display
Data flow examples for a DFD (4) 14 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • External entity ‘buyer’ to process ‘search’ • Data flow : search criteria author = Smith • Process ‘search’ to datastore ‘list of public books’ • Data flow : search criteria • Datastore ‘list of public books’ to process ‘display search results’ • Data flow : books for display • From process ‘display search results’ to buyer • Data flow : books matching search • External entity ‘buyer’ sees books matching search
What’s in a data store? 15 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Anything we need to know about relevant things • Things the processes work on • Books • Dinner orders • Railway ticket requests • Information needed by the processes • Title, author, description, price, status, seller, buyer • Order number, table number, menu items, quantities • Passenger name, start station, destination, number of adult tickets, travel date • These are all data requirements from analysis
Data modelling overview 16 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Data modelling gives us the shape of what goes in the data stores • Data stores in a computer system are the tables in its database • Questions to ask when modelling the data: • What things is the system dealing with • What do we know about the things • How are the things linked together
What things is system dealing with 17 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • The things the system deals with are the things that are relevant to the scenario • Books, modules, status • Ticket requests, tickets, passengers • Vehicles, drivers, service records • They become the entities in a data model and the tables in a database • Book, Module, Status • Request, Ticket, Passenger • Vehicle, Driver, Service
What do we know about the things 18 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • What characteristics or details do we record • Title, author, module name, module code • Ticket number, date of travel, request date, address • Vehicle number, make, driver name, service date • These characteristics we call attributes, they become the fields in a database table • Title, Author, ModuleName, ModuleCode • TicketNo, TravelDate, RequestDate, Address • VehicleNo, Make, Driver, ServiceDate
How are the things linked together 19 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • How do they relate to each other • Books link to modules • Books link to status • Vehicles link to drivers • Vehicles link to services • Passengers link to requests • Tickets link to requests • The links are called relationships • Help the system to find the right information in the database
Data model for system BOOK MODULE STATUS 20 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Consists of ERD = entity-relationship diagram… • Picture of the things or entities and the links or relationships • …and the tables to be used in the database • Table names and attributes • Book(BookNo, Title, Author, Description, Price)
Data model summary 21 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Data model is part of logical model for system Shows things that are relevant to the system, called entities Shows what details are needed about the things, called attributes Shows how the things link together, called relationships You will learn more about data modelling in your database module
Where are we on agenda 22 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Data model Structured English Decision tables Checking the logical design Test strategy
Structured English 23 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • One way of describing the steps involved in carrying out a process • Can be used as part of a use case description • Describes the logic of a business process • Looks similar to pseudocode… • Pseudocode describes the logic in a piece of code • …but is not the same • Describes the logic in the process not the code • Can be used to derive the pseudocode • Clear and unambiguous: precise description
Structured English - basics 24 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Three rules • Use the four constructs • Sequence • Selection • Iteration • Case • Indent to make it clear which statements go together • Limit the vocabulary: • Standard words and commands • Names of entities and attributes from data model
Structured English - sequence 25 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Each command is listed one per line • All actions will be carried out in order shown • Example • Accept new book • Store book details • Add to list of seller’s books • Display confirmation message
Structured English - selection 26 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • A step or series of steps is carried out only under certain circumstances • Uses IF…ELSE….ENDIF • Example • IF user is registered to system • allow entry • display list of public books • ELSE • disallow entry • display unsuccessful sign-in message • ENDIF
Structured English - iteration 27 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • A step or series of steps is carried out a number of times • The steps are a sequence inside the iteration • A value or variable is used to control how many times the steps are carried out • Example • DOWHILE more items on order • accept order item • store menu item and quantity • add to list of foods to prepare • ENDDO
Structured English - case 28 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Similar to selection except with more options than true or false • Can specify actions for each of several options • Uses DOCASE…CASE…CASE…ENDCASE • Example on next slide
Structured English - case example 29 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Example • Read ticket request • Check fare type • DOCASE • CASE adult fare • calculate fare (fare * 1.0) • CASE child fare • calculate fare (fare * 0.5) • CASE senior fare • calculate fare (fare * 0.5) • ENDCASE
Structured English - summary 30 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Describes logic of business process • Simple language constructs • Clear and unambiguous • For further information • Skidmore & Eva pp 164-167 • Shelly & Rosenblatt pp 223-224
Where are we on agenda 31 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Data model Structured English Decision tables Checking the logical design Test strategy
Decision tables 32 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Shows what actions should be taken in different combinations of circumstances Clear and unambiguous way of specifying what to do Can be used as part of use case description Not always needed Very useful when complex decisions need to be made and acted on
Decision tables - basics 33 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Conditions • One-or-the-other questions • Eg yes-no, single-or-return, large-or-small • Rules • Combinations of answers to questions • Actions • What will happen in each case • Decisions • Which actions apply to which rules ie in which circumstances
Decision tables - building 34 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • To build a decision table: • Identify conditions • Write most important one first • Identify possible actions • Write most frequent one first • Work out the rules ie combinations of conditions • Combinations of Y/N • 2 conditions give 4 rules, 3 conditions give 8 rules, etc • Record which actions are relevant to each rule • Put an X in that box of the decision table • Check you have all the rules • Combinations of Y/N
Decision tables - example 35 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • To calculate ticket fares • Conditions: • Concession (child, senior), return ticket • Actions: • No discount, 10% discount, 50% discount
Decision tables - summary 36 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Decision table summarises what happens in combinations of circumstances • Shows • Conditions • Actions • Rules • Decisions • For further information • Skidmore & Eva pp 176-171 • Shelly & Rosenblatt pp 224-226
Where are we on agenda 37 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Data model Structured English Decision tables Checking the logical design Test strategy
Checking the logical model 38 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • By now we have put together the logical model • Use case model for process outline • Data flow diagrams for process breakdown • Data model for data requirements • Structured English for process logic • Decision table for combinations of circumstances
How to check the logical model 39 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Go back to the people you talked to when doing the detailed fact finding • Bring your requirements specification along • Go through all the diagrams and models with them • Check your understanding • Get any corrections or adjustments • Revise your diagrams and models • This can take time but it is worth the effort • Any mistakes or misunderstandings found at the design stage can be corrected easily • Anything found later is harder to correct
Where are we on agenda 40 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 Data model Structured English Decision tables Checking the logical design Test strategy
Designing the test strategy 41 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Once the logical model is approved, the test strategy can be designed • Users may be involved in some of the testing • System testing - users may help devise test cases • User acceptance testing - using realistic test cases • Agree with users • Who will write test cases • Who will write test scripts and expected results • Who will carry out tests • Who will analyse test results • Often a joint effort between developers and users
Inputs to test strategy 42 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Test strategy is based on • Requirements - check requirements are met • Use case model - check high-level processes present • Data flow diagrams - check flow of information correct • Data model - check all data accessible • Structured English - check all paths through logic • Decision tables - check all combinations of conditions • End-to-end operation • System can process information from initial input to final output • Eg input a book and follow it through to purchase
Unit testing 43 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Unit testing is part of system construction • Tests program code and access to database • Unit test plans typically written when program logic is designed • Task for developers • Users do not get involved in unit testing
Test strategy summary 44 IMAT 1906 Lecture Week 9 (c) De Montfort University 2010-11 • Test strategy and test cases written based on logical system design • Tests are carried out after the system has been developed, using test strategy and test cases • Testing is team effort with developers and users • For further information • Skidmore & Eva chapter 13 • Shelly & Rosenblatt pp 515-517