SYST 430: BIS Analysis & Development Business Information Systems Analysis Spring 2003 Abou-Bakr Zayd aboubakr@K4B.net Copyright © 2003 Abou-Bakr Zayd BIS Analysis 1 BIS & e-commerce Quality Life-Cycle Quality Life-Cycle Copyright © 2003 Abou-Bakr Zayd BIS Analysis 2 Data Flow Diagrams (DFD): ANALYSIS: Data & Process Modeling • DFD shows how data moves through an IS (what the system does) but doesn’t show program logic or processing steps (how it does it) • That distinction is important because focusing on implementation issues at this point would restrict the search for the most effective system design Copyright © 2003 Abou-Bakr Zayd BIS Analysis 3 Data Flow Diagrams (DFD): Symbols ANALYSIS: Data & Process Modeling Gane & Sarson Symbols Symbol Name Process Apply Students Customer Copyright © 2003 Abou-Bakr Zayd Apply Payment Payment Bank Deposit Yourdon Symbols Data Flow Bank Deposit Data Store Students External Entity Customer BIS Analysis 4 Data Flow Diagrams (DFD): Process Symbol ANALYSIS: Requirements Modeling • A Process receives I/P data & produces O/P data that has a different content • Processes are black boxes that contain the business logic/rules that transforms the data & produce required results Hours Worked Calculate Pay Rate Gross Pay Gross Pay Hours Worked Calculate Gross Pay Rate Black Hole Pay Copyright © 2003 Abou-Bakr Zayd BIS Analysis 5 Data Flow Diagrams (DFD): Data Flow Symbol ANALYSIS: Requirements Modeling • A Data Flow is a path for data to move from one part of the IS to another • A Data Flow in a DFD represent one or more data items; the diagram doesn’t show its structure & detailed contents Graded Work Submitted Work Date of Birth Copyright © 2003 Abou-Bakr Zayd Grade Student Work Grade Student Work Student Grade Final Grade Gray Hole BIS Analysis 6 Data Flow Diagrams (DFD): Data Store Symbol ANALYSIS: Requirements Modeling • A Data Store is used to retain data because processes need to use the stored data at a later time • DFD doesn’t show the detailed contents of a data store; the specific structure & data elements are defined in data dictionary Create Invoice Courses Invoice Accounts Receivable Invoice Detail Payment Detail Class List Students Post Payment Customer Payment Payments Book Flight Flight Request Passengers Post Payment Copyright © 2003 Abou-Bakr Zayd BIS Analysis 7 Data Flow Diagrams (DFD): External Entity Symbol ANALYSIS: Requirements Modeling • An External Entity is a person, department, outside organization, or other IS that provides data or receives O/P • External Entities show the boundaries of the IS and how it interacts with the outside world Customer Order Invoice Verify Order Copyright © 2003 Abou-Bakr Zayd Payroll Department Customer Paycheck Payment Employee Accounts Bank Bank Deposit Payments BIS Analysis 8 Data Flow Diagrams (DFD): Context Diagrams ANALYSIS: Data & Process Modeling • Based on fact-finding results gathered during requirements modeling (through different fact finding techniques), information about how various people, departments, data, and processes fit together to support business operations can now be represented graphically • Context Diagram: is a top level view of an IS that shows system boundaries & scope • To draw a context diagram, a single process symbol (process 0) that represents the entire IS is placed in the center of the page and all external entities are placed around the perimeter of the page then data flows are used to connect the entities to the central process Copyright © 2003 Abou-Bakr Zayd BIS Analysis 9 Data Flow Diagrams (DFD): Context Diagram ANALYSIS: Requirements Modeling Students Records System Final Grade Submitted Work Student Class Roster 0 Graded Work Grading System Grading Parameters Grade Report Instructor Copyright © 2003 Abou-Bakr Zayd BIS Analysis 10 Data Flow Diagrams (DFD): Diagram 0 ANALYSIS: Requirements Modeling Students Records System Final Grade 2 Assign Final Grade Student Grading Detail Submitted Work Class Roster Grade Book Grade Book Student Grade 1 3 Establish Grade Class Detail Grade Student 4 Book Work Produce Grade Grading Report Parameters Graded Work Grade Report Instructor Copyright © 2003 Abou-Bakr Zayd BIS Analysis 11 Data Flow Diagrams (DFD): Strategies & Rules ANALYSIS: Data & Process Modeling • There are different strategies for developing a set of DFDs: – Top-Down – Bottom-Up • Conventions for DFDs: – – – – – Each context diagram must fit in one page The process name in the context diagram should be the name of the IS Use unique names within each set of symbols Do not cross lines Use a unique reference number for each process symbol • Balancing: preserving the I/P & O/P data flows of the parent on the child DFD Copyright © 2003 Abou-Bakr Zayd BIS Analysis 12 Data Dictionary: Overview ANALYSIS: Data & Process Modeling • A set of DFDs produces a logical model of the system but the details within those DFDs are documented separately in a Data Dictionary • A Data Dictionary or Data Repository is a central storehouse of information about the system’s data, where analysts collect, document & organize specific facts about the system including the contents of data flows, data stores, external entities & processes • Data Dictionary defines & describes all data elements & meaningful combinations of data elements • Data Element (item or field) is the smallest piece of data that has meaning within an IS (e.g. student grade, salary, social security number, account balance, company name) • Data Elements are combined into records or data structures, where a Record is a meaningful combination of related data elements that is included in a data flow or data store Copyright © 2003 Abou-Bakr Zayd BIS Analysis 13 Data Dictionary: Documenting Data Elements ANALYSIS: Data & Process Modeling • • • • • • • • • • • • Data Element Name / Label Alternate Names Type & length O/P format Default value Prompt, Column header, or Field Caption Source Security Responsible user(s) Acceptable values & data validation Derivation formula Description / Comments Copyright © 2003 Abou-Bakr Zayd BIS Analysis 14 Data Dictionary: Documenting Data Flows ANALYSIS: Data & Process Modeling • • • • • • • Data flow Name / Label Alternate Names Description Origin / Source Destination Record Volume & frequency Copyright © 2003 Abou-Bakr Zayd BIS Analysis 15 Data Dictionary: Documenting Data Stores ANALYSIS: Data & Process Modeling • • • • • • • Data Store Name / Label Alternate Names Description I/P Data flows O/P Data flows Record Volume & frequency Copyright © 2003 Abou-Bakr Zayd BIS Analysis 16 Data Dictionary: Documenting Processes ANALYSIS: Data & Process Modeling • • • • • • Process Name / Label Purpose / Description Process Number I/P Data flows O/P Data flows Process Description Copyright © 2003 Abou-Bakr Zayd BIS Analysis 17 Data Dictionary: Documenting External Entities ANALYSIS: Data & Process Modeling • • • • • External Entity Name Alternate Names Description I/P Data flows O/P Data flows Copyright © 2003 Abou-Bakr Zayd BIS Analysis 18 Data Dictionary: Documenting Records ANALYSIS: Data & Process Modeling • • • • Records or Data Structure Name Alternate Names Definition / Description Record content or composition Copyright © 2003 Abou-Bakr Zayd BIS Analysis 19 Object Oriented Concepts: Overview ANALYSIS: Object Modeling • Object Oriented analysis describes IS by identifying things called objects that can represent a real person, place, event or transaction (e.g. patient makes appointment with a doctor: all 3 are objects) • The Object Oriented analysis is a new approach that sees a system from the viewpoint of the objects themselves as they function & interact with system • The end product of Object Oriented analysis is an Object Model, which represents the IS in terms of Objects & Object Oriented concepts • The main benefit of Object Oriented approach is using objects and program code modules that can be reused • Structured Analysis modeling using DFDs treated data & processes separately, while in Object Oriented analysis, Objects include data & the processes that affect that data; Attributes that characterize the object & Methods that the object performs when it receives a message Copyright © 2003 Abou-Bakr Zayd BIS Analysis 20 Object Oriented Concepts: Objects STUDENT Object ANALYSIS: Object Modeling STUDENT Characteristics that describe the STUDENT Object Tasks that the STUDENT Object can perform Copyright © 2003 Abou-Bakr Zayd Attributes Student Number Name Telephone Date of Birth Fitness Record Status Methods Add fitness class Drop fitness class Change telephone Change status Update fitness record Instances of the STUDENT Object 970075 Soha Sayed 0105005000 10-10-80 X Current Encapsulation means that all data & methods are self contained making the object appear as a black box BIS Analysis 21 Object Oriented Concepts: Objects INSTRUCTOR Object ANALYSIS: Object Modeling INSTRUCTOR Characteristics that describe the INSTRUCTOR Object Tasks that the INSTRUCTOR Object can perform Copyright © 2003 Abou-Bakr Zayd Attributes Instructor Number Name Telephone Fitness Class taught availability Status Instances of the INSTRUCTOR Object 101 Zaki Morad 0101001000 Aerobics Part Time Current Methods Teach fitness class Change telephone Change availability Change status BIS Analysis 22 Object Oriented Concepts: Objects Fitness Class Schedule Object ANALYSIS: Object Modeling FITNESS CLASS SCHEDULE Attributes Fitness Class Number Date Time Type Location Instructor Number Max Enrollment Methods Add fitness class Delete fitness class Change date Change time Change Instructor Change Location Change Enrollment Copyright © 2003 Abou-Bakr Zayd Registration Record Object REGISTRATION RECORD Attributes Student Number Fitness Class Number Registration Date Fee Status Methods Add Student Drop Student Notify Instructor of add Notify Instructor of drop Notify all of fitness-class cancellations BIS Analysis 23 Object Oriented Concepts: Attributes STUDENT Object ANALYSIS: Object Modeling State Status Future Registered but has not started to attend Current Registered attending 1 or more classes Past Attended 1 or more classes in the past Copyright © 2003 Abou-Bakr Zayd BIS Analysis 24 Object Oriented Concepts: Methods ANALYSIS: Object Modeling Method: Add Student Steps 1. Add new student instance 2. Record student number 3. Record student name 4. Record student telephone number 5. Record student date of birth 6. Record sex of student 7. Record state of student 8. Save new student data Copyright © 2003 Abou-Bakr Zayd BIS Analysis 25 Object Oriented Concepts: Messages STUDENT ANALYSIS: Object Modeling Message: ADD tells the STUDENT class to perform all the steps needed to add a STUDENT instance Message: DELETE tells the STUDENT class to perform all the steps needed to delete a STUDENT instance Copyright © 2003 Abou-Bakr Zayd Attributes Student Number Name Telephone Date of Birth Fitness Record Status Methods Add student Delete student Add fitness class Drop fitness class Change telephone Change status Update fitness record Polymorphism is the concept when a message gives different meanings to different objects BIS Analysis 26 Object Oriented Concepts: Classes Car ANALYSIS: Object Modeling VEHICULE Attributes Attributes Common Attributes Common Methods Make Model Year Weight color Methods Truck Attributes Uncommon Attributes Load Limit Start Stop park School Bus Attributes Uncommon Attributes Emergency Exit Location Copyright © 2003 Abou-Bakr Zayd BIS Analysis 27 Relationship among Objects & Classes: Dependency Dependency ANALYSIS: Object Modeling School Bus Attributes Bus Number Route Number Start Time Finish Time Driver Methods Pick Up Drop Off Copyright © 2003 Abou-Bakr Zayd Bus Route Attributes Follows Route Number Stop Number Stop Location Stop Time Passengers Methods Add Stop Delete Stop Change Time BIS Analysis 28 Relationship among Objects & Classes: Association Association ANALYSIS: Object Modeling Student Registration Record Attributes Student Number Name Telephone Date of Birth Fitness Record Status Methods Add Student Delete Student Add fitness class Drop fitness class Change telephone Change status Update fitness record Copyright © 2003 Abou-Bakr Zayd Attributes Adds/Drops Fitness Class Student Number Fitness Class Number Registration Date Fee Status Methods Add Student Drop Student Notify Instructor of add Notify Instructor of drop Notify all of fitness-class cancellations BIS Analysis 29 Relationship among Objects & Classes: Aggregation Aggregation ANALYSIS: Object Modeling Employee Department Attributes Name Date of Birth Social Security Number Telephone Hire Date Title Pay Rate Department Methods Get Hired Terminate Change Department Copyright © 2003 Abou-Bakr Zayd Attributes Belongs To Department Number Department Name Budget Code Department Head Employees Methods Prepare Budget Hire Employees Develop Plans BIS Analysis 30 Relationship among Objects & Classes: Inheritance Inheritance ANALYSIS: Object Modeling Employee Attributes Social Security Number Telephone Hire Date Title Pay Rate Instructor Attributes Type of instructor Social Security Number Telephone Hire Date Title Pay Rate Methods Methods Get Hired Get Fired Change Telephone Copyright © 2003 Abou-Bakr Zayd Get Hired Get Fired Change Telephone BIS Analysis 31 UML: Use Case Modeling ANALYSIS: Object Modeling <<uses>> Student Add Fitness Class Produce Fitness Class Roster <<uses>> Instructor Change Availability Update Instructor Information Use Case Modeling Examples Copyright © 2003 Abou-Bakr Zayd BIS Analysis 32 UML: Use Case Modeling Add New Student Use Case ANALYSIS: Object Modeling Add New Student Name: Add New Student Actor: Student/Manager Description: Successful Completion: Alternative: Describes the process used to add a student to a fitness class 1. Managers Checks Fitness-Class Schedule object for availability 2. Managers notifies student 3. Fitness-Class is open and student pays fee 4. Manager registers student 1. Managers Checks Fitness-Class Schedule object for availability 2. Fitness-Class is full 3. Managers notifies student Precondition: Student requests fitness class Postcondition: Describes the process used to add a student to a fitness class Assumptions: None Use Case Description to document the process Copyright © 2003 Abou-Bakr Zayd BIS Analysis 33 UML: Use Case Diagrams ANALYSIS: Data & Process Modeling Notifies Adds Add Fitness Class Get Assigned Notifies Student Instructor Add Instructor Notifies Check and update Manager Copyright © 2003 Abou-Bakr Zayd Notifies Notifies Change Schedule Use Case Diagram a visual summary of several related use cases within a system or subsystem BIS Analysis 34 UML: Class Diagrams ANALYSIS: Data & Process Modeling Sales Manager 1 Manages 0..* Attributes 0..* Sales Rep Attributes Assigned to Methods 1 Manages 1 Sales Office 1 Places Methods 1 Assigned 0..* 1 Customer Attributes Attributes Methods Methods 0..* Order Attributes Methods Copyright © 2003 Abou-Bakr Zayd Includes 0..* Items Ordered 1..* Class Diagrams a detailed view of a single use case, and the relationship among the classes Attributes Methods BIS Analysis 35 UML: Sequence Diagrams ANALYSIS: Data & Process Modeling Student Fitness-Class Schedule Manager Request Fitness-Class Registration Record Check Notify Focus Pay Register Messages Sequence Diagrams: a dynamic model of a single use case, showing interaction among classes during a specified time period Copyright © 2003 Abou-Bakr Zayd BIS Analysis 36 UML: State Transition Diagrams ANALYSIS: Data & Process Modeling Attends Fitness-Class Enrolls Future Current Drops Fitness-Class Drops Fitness-Class Inactivity for 12 months Past Fitness-Class Canceled State Transition Diagram: shows how an object changes from one state to another, depending on events that affect the object Copyright © 2003 Abou-Bakr Zayd BIS Analysis 37 UML: Activity Diagrams ANALYSIS: Data & Process Modeling Customer needs cash Customer inserts ATM card Card is accepted PIN is Customer accepted enters PIN Customer requests cash Sufficient funds available ATM adjusts balance ATM provides cash Sufficient funds not available ATM notifies customer Copyright © 2003 Abou-Bakr Zayd Activity Diagrams: resembles a horizontal flow chart that shows the actions & events as they occur, their order and outcomes BIS Analysis 38 Completion of Systems Analysis: ANALYSIS: Data & Process Modeling • Systems Requirements Document: – contains the requirements for the new system, describes the alternatives that were considered and makes a specific recommendation to management. – This important document is the starting point for measuring the performance, accuracy & completeness of the finished system before entering the system design phase – It represents the contract that identifies what must be delivered by system developers to users • Presentation to Management – Begin with purpose & primary goals & objectives of the system – Summarize the primary viable alternatives including cost, advantages & disadvantages – Chosen alternative and explanation • Management decision: – – – – – Develop in-house system Modify current system Purchase / customize S/W package Perform additional systems analysis work Stop all further work Copyright © 2003 Abou-Bakr Zayd BIS Analysis 39 Transition to Systems Design ANALYSIS: Data & Process Modeling • The transition from systems analysis to design is the transition from the logical design to the physical design of the system • Logical Design (conceptual design or essential model): defines the functions & features of the system and the relationships among its components. It includes the system’s O/P produced, I/P needed, and processes performed without regard to how tasks will be accomplished physically and methods of implementation (What? Completed in Analysis Phase) • Physical design (functional design): is a plan for the actual implementation of the system. It is built on the system’s logical design and describes the implementation of a specific set of systems components (How? Completed in Design Phase) • Logical & Physical Design are closely related as good systems design is impossible without careful & accurate systems analysis. In fact, the design phase typically cannot begin until analysis work is complete Copyright © 2003 Abou-Bakr Zayd BIS Analysis 40 • H. Deitel, P. Deitel & K. Steinbuhler, e-Business and eCommerce for Managers, 2001 ANALYSIS: References • G. Shelly, T. Cashman & H. Rosenblatt, Systems Analysis and Design (4th), 2000 • J. Whitten, L. Bentley & K. Dittman, Systems Analysis and Design Methods (5th), 2000 Copyright © 2003 Abou-Bakr Zayd BIS Analysis 41