Instructor: Kevin Robertson The Development of Information Systems Lecture Outline 12-1
Principles and Learning Objectives Understand the process used by organizations to manage the development of information systems Describe each major phase of the system development life cycle: systems identification, selection, and planning; system analysis; system design; system implementation; and system maintenance Understand the factors involved in building a system in-house, along with situations in which it is not feasible
Systems Development Sometimes, a system that is needed by a business is not available as a 'canned' system which can be bought and installed Such a system must be custom-built either by systems developers inhouse or by external consultants
System Development Life Cycle Usually a system is developed in 6 specific SDLC stages: 1.Systems Investigation: a)problem Definition b)feasibility Study 2.System Analysis 3.System Design: a)general Design b)detailed Design 4.System Development (Building) 5.System Implementation 6.System Maintenance
System Development Life Cycle 1.Systems investigation: Identifies problems and opportunities and considers them in light of business goals 2.Systems analysis: Studies existing systems and work processes to identify strengths, weaknesses, and opportunities for improvement 3.Systems design: Defines how the information system will do what it must do to obtain the problem s solution
System Development Life Cycle 4.Systems development: Creates or acquires various system components detailed in systems design, builds/assembles for implementation. 5.Systems implementation: Places new or modified system into operation 6.Systems maintenance and review: Ensures the system operates as intended Modifies the system so that it continues to meet changing business needs
SDLC: Systems Investigation Should we really develop a new system? Identify problems with the current system and opportunities for improvement Why do we want a new system? Do initial feasibility study for the proposed system financial feasibility (is $ available) technical feasibility (is equipment available) operational feasibility (will people be able to work with new system) If we determine that a new system is feasible, we go on to the next stages
Systems Investigation Criteria for evaluating and selecting a systems project
SDLC: System Analysis We now look at analysis in more detail After the preliminary investigation, if the system proposal is found to be feasible, a detailed analysis is carried out: For the nature current system (Current State Analysis) For the issues of the current system (Gap Analysis) For the requirements of the new system (Future State Analysis) We get an idea of WHAT will be required of the new system in terms of data, processing, and user interfaces; we document this in detail
System Analysis A systems (or Business) analyst can use different ways of gathering the information on system features and requirements Current system documentation Sampling outputs and input forms from current system Observation; apprenticing with a user; videotaping people using the system Administering questionnaires Interviewing users
Systems Analysis
System Analysis Collecting System Requirements (Traditional) A combination of methods are used: Interviews discussions with stakeholders (i.e. users) Questionnaires surveys to assess use and attitudes Observations watch process and systems use Document Analysis reviewing curent documents Collecting System Requirements (Alternative) A combination of traditional methods are used: Critical Success Factors (CSFs) a process of interviewing, recoding, analyzing and merging factors defined as critical by personnel at all levels of an organization Joint Application Design (JAD) - a method that brings together users and analysts in a room to define requirements. This method greatly reduces design time
Systems Analysis Critical Success Factors Critical Success Factor (CSF) is an element which is necessary for a project to successfully achieve its goal For example, a CSF for a successful system design is user involvement. CSF is a means of identifying the tasks and requirements needed for success, and A means to prioritize requirements At the lowest level, CSFs become concrete requirements
Example: CSF in establishing Goals and Requirements
Systems Analysis Joint Application Design JAD is a special type of a group meeting in which all (most) users meet with an analyst at the same time Users jointly define and agree upon system requirements or design dramatically reducing the design time
Documenting System Requirements What has been discovered through the above techniques needs to be documented adequately Can use English descriptions, but then will need to use structured diagrams Might use traditional diagrams (data flow diagram and program structure chart) OR, may model entire system as a set of interacting objects (OO object-oriented)
System Analysis Modeling Organizational Data The Entity Relationship Diagram (ERD) A tool used to identify the relationships between entities to assist in developing applications and databases
Two Ways of Diagramming for Analysis and Design The Traditional Structured way Data and programs designed separately For data: entity-relationship diagrams For programs: Start with data flow diagram (DFD) in analysis This becomes the program structure chart in design
Data Flow Diagrams (DFDs) Data flow diagram (DFD) is a picture of the movement of data between external entities and the processes and data stores within a system Uses only 4 symbols: square (external entity) Curved arrow (data flow) Open ended rectangle (data store) Circle (process)
Two Ways of Diagramming for Analysis and Design The object-oriented way of doing analysis and design Data and programs encapsulated in structures called OBJECTS There are prescribed diagrams for analysis and design which are part of the Unified Modeling language (UML)
An Object A structure that has BOTH attributes (variables, properties) and programs (methods) that act on these properties In an object, the attributes and programs are encapsulated
Example: a Customer Object Attributes: customerno., name, address, phoneno. creditlimit Programs: AcceptCustomer(); AssignCreditLimit(YearlyEarnings); DeleteCustomer(CustomerNo)
Object-Oriented Analysis and Design We will see what diagrams are used for a new system, as part of the Unified Modelling Language (UML) Use case diagrams What is needed in the new system is derived from what we will use the system for Object class diagrams What main items will we keep data on?
Prescribed Diagrams When developing a new system in the object oriented way, the system development team uses specific diagrams in the Unified Modeling Language (UML): Use case diagrams (how system will be used) Object class diagrams (database files) Sequence diagrams (order of processing) From these diagrams we will know how to set up our database and how to write the programs for the new system.
Use Case Diagram (For School System)
Object Class Diagram [for withdrawal of cash, normal flow]
Sequence Diagram [for withdrawal of cash, normal flow]
Design of Other System Components The UML diagrams helped us to design the database and programs for the new system We also have to design: menus, input screens, output screens, reports, system controls, hardware and telecommunication plans, organizational aspects
SDLC: System Design Here we figure out in detail HOW we will satisfy the needs of the new system: what will the screens and reports look like? how will we set up our data tables? what programs will we need to write? what hardware will we need?... etc. We end up with a detailed design ("blueprint") for our system
System Design Detailed design for Database Programs Menu, input, output screens, reports Controls Hardware & telecomm Organizational aspects
Designing Forms and Reports Forms - a business document with predefined data and places to fill in information that is used for system input Reports a system output that contains only predefined data usually in a tabular format (see below)
Designing Interfaces and Dialogues
Designing Databases and Files
SDLC: System Development (Build) Programmers code programs that belong to each object class Programs are tested and loaded onto disk Database personnel set up the database on the disk of the server
SDLC: System Implementation As part of the system implementation phase: System is tested System processes and data are converted System is documented System training for end users is conducted
Implementation: Software Testing Software/System Testing a series of tests designed to identify errors and validate logic in parallel with programming. There are multiple types of testing (see below)
Implementation: System Conversion Conversion Approaches the process of taking information from an old system to populate a new system. This is accomplished through manual and/or automated methods each comes with a different level of risk
Implementation: System Documentation System Documentation The collection of materials produced with an information system to support the ongoing operation and development Documentation Types User and reference guides step-by-step instructions for using the system features and functions User training and tutorials manuals and exercises designed to educate users and build competence in system use. These training manuals and tutorials can be supported by a database that utilizes realistic data Installation procedures and trouble-shooting suggestions manuals and procedures designed to support technical personnel in installing and problem solving during system operation
Implementation: System Training Training Approaches the processes used to educate users in new business processes and system features and functions with the goal of building competence to ensure operational success (see possible methods below)
SDLC: System Maintenance System Maintenance The process by which a system is kept in working order and minor enhancements are completed. Some types of system maintenance are shown below:
Systems Development End of Lecture 12-1