TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE

Similar documents
Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Auditing in an Automated Environment: Appendix E: System Design, Development, and Maintenance

Questionnaire Specification Database for Blaise Surveys

Chapter 10. Database System Development Lifecycle

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Verification and Validation

Verification and Validation

Chapter 8: SDLC Reviews and Audit Learning objectives Introduction Role of IS Auditor in SDLC

Requirements Validation and Negotiation

Technology in Action. Chapter Topics. Scope creep occurs when: 3/20/2013. Information Systems include all EXCEPT the following:

Chapter 12 Developing Business/IT Solutions

Chapter Twelve. Systems Design and Development

Guide to IREE Certification

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

SOFTWARE ENGINEERING : A MCQ BOOK CODE : RBMCQ0602. Second Edition

Answer: D. Answer: B. Answer: B

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

Chapter 2 Web Development Overview

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Information Systems Analysis and Design CSC340. XXV. Other Phases

Requirements Validation and Negotiation

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

Multiple Choice Questions

EXAM PREPARATION GUIDE

Requirements Validation and Negotiation (cont d)

MIS Systems & Infrastructure Lifecycle Management 1. Week 12 April 7, 2016

The Development of Information Systems

Up and Running Software The Development Process

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

WEB DESIGN 8 PHASES OF THE DESIGN PROCESS. By da Creative Team

ISO / IEC 27001:2005. A brief introduction. Dimitris Petropoulos Managing Director ENCODE Middle East September 2006

QA Best Practices: A training that cultivates skills for delivering quality systems

Level 4 Diploma in Computing

Managing Change and Complexity

Modern Systems Analysis and Design. Third Edition. Jeffrey A. Hoffer Joey F. George Joseph S. Valacich. Chapter 17 System Implementation

CSc 238 Human Computer Interface Design Chapter 5 Designing the Product: Framework and Refinement. ABOUT FACE The Essentials of Interaction Design

Simply Java Programming: An Application Driven, Tutorial

3Lesson 3: Web Project Management Fundamentals Objectives

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Chapter System Analysis and Design. 5.1 Introduction

Connecting with Computer Science Chapter 13 Review: Chapter Summary:

Objectives. Connecting with Computer Science 2

Software Development Methodologies

How Turner Broadcasting can avoid the Seven Deadly Sins That. Can Cause a Data Warehouse Project to Fail. Robert Milton Underwood, Jr.

We take your privacy very seriously and we ask that you read this Policy carefully as it contains important information on:

FIT1004 Database Topic 2: Database Design Life Cycle

EXAM PREPARATION GUIDE

Managing the development and purchase of information systems (Part 2)

Chapter 1: The Database Environment

Requirements Engineering process

ERP/CRM System Implementation Methodology

Strategic Information Systems Systems Development Life Cycle. From Turban et al. (2004), Information Technology for Management.

Part 5. Verification and Validation

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Introduction To IS Auditing

Chapter 2.6: Testing and running a solution

EXAM PREPARATION GUIDE

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search

Standard. Number of Correlations

Chapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science

Sample Question Paper. Software Testing (ETIT 414)

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I

WHITEPAPER WHAT TO CONSIDER TO SUCCESSFULLY LAUNCH A MOBILE APP! By RG Infotech WHITEPAPER. How to launch a MOBILE APP. Successfully!

Quality Assurance: Test Development & Execution. Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Information Security Policy

*ANSWERS * **********************************

OBJECTIVES DEFINITIONS CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS. Figure 1-1a Data in context

Session 4b: Review of Program Quality

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

ΗΜΥ 317 Τεχνολογία Υπολογισμού

1. In waterfall model, output of one phase is input to next phase. True or false.

Systems Analysis and Design in a Changing World, Fourth Edition

EXAM PREPARATION GUIDE

Chapter 8: General Controls and Application Controls

CAKEDC GIT WORKFLOW. CakeDC Git Workflow is a project development and release work flow which provides a

Top of Minds Report series Data Warehouse The six levels of integration

KinX. Bringing families together. Brandon Development Jackie Design Tony User Testing / Documentation Shahab Manager

THE TEXAS A&M UNIVERSITY SYSTEM RECORDS RETENTION SCHEDULE

Component-Based Software Engineering TIP

System development, design & implementation

INTRODUCTORY INFORMATION TECHNOLOGY CREATING ENTERPRISE APPLICATIONS. Faramarz Hendessi

S/W Programming & Languages

Sample Exam. Advanced Test Automation - Engineer

POWER AND WATER CORPORATION POLICY MANAGEMENT OF EXTERNAL SERVICE PROVIDERS

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

PART 5: INFORMATION TECHNOLOGY RECORDS

This specification describes the minimum requirements for Process Hazards Reviews at the design stage (Design PHRs).

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

Terminology. There are many different types of errors and different ways how we can deal with them.

Requirement Analysis

UCT Application Development Lifecycle. UCT Business Applications

Helix Test Case Management Best Practices

ISTQB Advanced Level (CTAL)

Process of Interaction Design and Design Languages

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

SDD PRELIMINARY CHANGES SUMMARY

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

Software Testing Interview Question and Answer

Transcription:

SUMMARY AND REFERENCE ACTG 313 TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE PREPARATION PHASE 1. Identification of the Need for a new Information System 2. Initial Feasibility Study (always flawed because it s too early in the project!) 3. Determination of the Initial Scope of the Project (including recognition of Scope Creep opportunities) 4. Initial Budget and Timetable (always incomplete because project hasn t been fully spec d yet) 5. Formal Proposal to Management, Approval (beware of arbitrary cuts/revisions by management) 6. Assembly of the Project Team (Dual-Specialty approach: user specialists and technical specialists) 7. Organization of the Project (Work breakdown, assignments, setting of standards, etc.) 8. Development Controls (controls on the SDLC project itself) DESIGN PHASE 9. Definition of User Needs (vs. wants, desires, etc. Good opportunity to re-invent the business processes) 10. Initial Identification of Data Elements (pay attention to what is really a data element) 11. Input/Output Specifications (what elements go where, and come from where) 12. Prototyping Input/Output (extremely helpful to validate, confirm, reject, or explore user requests) 13. Determination of Data Flows, Entity-Relationship models, semantic modeling 14. Initial Data Organization (initial pass at file structure, relationships, etc.) 15. Data Normalization (results in database schema) 16. Development of Data Dictionary (standard for communication intra-team and between team and users) 17. Creation of Processing Specifications (critical importance of Programming Standards set in task 7) DEVELOPMENT PHASE 18. Coding (including compiling if applicable importance of review and supervision) 19. Alpha Testing Regimens a. Debugging Tests (Does the program work according to specification?) b. Module Tests (Do the programs which make up the accomplish their overall purpose?) c. Integration Tests (Do the modules interact with each other properly?) d. Load Tests (Can the system handle the expected volume satisfactorily?) e. Compliance, Control and Security Tests (Legal compliance, audit, operational controls?) 20. Beta Testing (Can the user run his business with this system?) 21. Version Control Processes (for program revisions) & Critical Importance of Test Bed 22. User Signoff on Software Development (usually a formality) IMPLEMENTATION PHASE 23. Hardware Selection, Acquisition, Installation, & Testing (This may be its own sub-project!) 24. Installation of Software on the Production Platform (and re-testing!) 25. User Training (ideally begins during design phase and follows a structured approach) 26. Loading of Initial Data onto Production Platform (or data conversion from old system to new system; This task might be its own sub-project) 27. Cut-Over or Going Live (Modular, Parallel, or Drop Dead ) 28. Shakedown Cruise and Cleanup (bug fixes, ad hoc problems, supplemental training, etc.)

MAINTENANCE PHASE 29. Routine Support (questions, retraining, correcting bad habits, help-desk-operations, rarely-used features, etc.) 30. Changes & Modifications (changes required to keep system current with evolution in laws, business, etc.) DOCUMENTATION (Throughout all phases and tasks of the project) EVALUATION (overlooked or omitted by many project managers) 31. Debriefing at end of project 32. Evaluation several months/years after implementation Additional Notes and Details PREPARATION PHASE NOTES: The Triad of Scope, Resources and Time: You can only specify any two. Specifying any two automatically limits the third. Management often tries to specify all three. This is a recipe for failure. The nature of the Dual-Specialty Team: User specialists know the organization, they know the business, the firm, the employees, the environment, etc. Technical specialists are the programmers, network designers, database architects, systems analysts, and other IT personnel who may or may not be intimately familiar with the organization. There are potential problems inherent in combining technical specialists with business specialists into a single team: Human relations, personalities, cultural clashes, etc. Development controls are critically important. These are the controls on the SDLC itself, and address the quality controls, the security of the development tools, programs, and other protections, as well as project management activities. DESIGN PHASE NOTES Design Phase Activities are referred to as Systems Analysis & Design) Some models say the design phase starts with the creation of the Project Team, or the Organization of the Project Team. Our model classifies those functions as Preparation activities, thus limiting the Design Phase to the true design activities. Definition of User Needs This typically uses personal interviews with management, employees and other stakeholders The SDLC Project Team must differentiate between user needs and user wants. The correct approach is to identify To WHAT USE will the information be put? e.g., identify the decisions to be made, the work to be done with the information. Then determine what information is required to facilitate business activities and decisions of the user. In addition to defining (1) the information requirements, the team must also determine (2) the formatting and presentation requirements, (3) the data capture requirements (including formatting), (4) compliance requirements, and (5) assurance requirements (what operational controls must the system provide?)

Note: this provides an opportunity to re-engineer the business, if within the scope of the project. In addition to five dimensions of the user requirements, the SDLC team needs to consider ergonomic issues. Identification of Data Elements From the identification of the information needed by the user, identify exactly what data elements are used to provide that information. Note that we break information down into data elements. Note that some elements are captured from business activities. Other data elements are calculated or derived. Identify which data elements are captured and from where, how to derive or calculate each element. Creation of Input/Output Specifications After identifying the capture location, determine the input method. Analyze the business process which is creating the data values. Analyze the method of input for efficiency and effectiveness Determine the final form the information should take. Arithmetic calculations necessary? Mathematical calculations necessary? Layouts, presentation, formatting? Prototype the input and output processes Prototype: a pseudo-working model, used to communicate the operation of the finished input/output process. Provides valuable feedback from the end users about the efficiency of the input/output, and its effectiveness. The user can provide valuable suggestions on modifications necessary for convenience, user acceptance, ergonomic factors, etc. Determine the Data Flows Flowcharts illustrate the user business processess. Flowcharts concentrate on document flow. Data element flow is not well illustrated on flowcharts. For this reason, technical specialists use Data Flow Diagrams instead of flowcharts. DFD s more precisely pinpoint the movement of data elements. Develop the Database Architecture and Design This is the job of technical specialists: Data architects, database designers, etc. Three steps: Initial organization of data elements into logical units (records, files, etc.) Data Normalization (to eliminate redundancies) Development of the Data Dictionary and Database structure/schema Creation of Processing Specifications The last phase of the design phase developed the data dictionary. All data elements have been identified, defined, and grouped (organized) into files. Additionally, the prototyping of the input and output processes designed the layout and operation of the data capture, and formatting and presentation functions. Thus, the task at hand now is to actually figure out how to tell the computer to capture that data, produce those reports, and process the captured data into information. This step in the SDLC (creation of processing specifications) determines exactly what each program or app within the system is to do.

Some models place the creation of processing specifications as the last phase in the Design Phase. Some consider them the first step of the Development Phase. Categorization is not as important as understanding what they are and the role they play in the development process. DEVELOPMENT PHASE NOTES Development of the Test Bed The test bed is composed of two parts: Test Data and Test Scripts. Test scripts are the checklist itemizing exactly what should be tested to make sure each and every program is programmed correctly, is designed properly, and works with other programs to provide a usable system. The yardstick used for this purpose is the Processing Specifications. Does the program do what the specifications call for? Test data is the data used for testing the programs to ensure they are programmed correctly and work together to get the job done properly. Testing must not only make sure the system works, it must also ensure that the system does not not work. Negative testing makes sure that the system catches errors, mistakes, and other anomalies. Thus, the testing must include bad data as well as good data. It must check to ensure that when mistakes are executed, the system catches the mistake. This is called negative testing. Negative testing must answer the questions: Does the system catch errors? Can the system be broken? Can the system controls by bypassed? Does the system fail gracefully? Can the system recover from failures? Negative testing includes testing of the Error traps, and the Edit Checks and Validation Checks Edit checks: comparing the input value against criteria to ensure the value falls within acceptable limits Validation checks: comparing the input value against a table or list of acceptable values Good test bed creation should be done in conjunction with the creation of the program specifications. The test bed must be carefully designed so that the testing regimen can: Make sure each program works correctly Make sure each program is accomplishing its purpose Make sure each program works with its surrounding programs Make sure the entire system works together correctly Make sure the system can function properly under full load/capacity Make sure the users can run the business with the system Well-designed systems may even have dedicated programs or routines to routinely go through data stored in the database looking for problems, orphaned data, bad data, errors, etc. Coding (writing of the actual computer programs) After creating the specifications, the programs are written by programmers and developers. Programmers write source code: readable by humans, writable by humans. CASE: Computer-Assisted Software Engineering CASE tools let the computer write source code based on specifications Macro recorders also write source code for humans Computers, however, only execute machine language, e.g., zeroes and ones.

Machine language can be generated one of two ways: Interpreted languages: source code is interpreted at run time into machine language and executed line by line. Compiled language: source code is compiled into object code as part of the development phase. Object code is machine language. A separate video explains the differences between interpreted and compiled languages Important: What are the major security differences between compiled and interpreted languages? Interpreted languages and compiled languages can be either Procedural, or Object Oriented. Typically, Procedural anguages are written by human programmers, line by line. Typically, Object Oriented languages are created using CASE tools. Such CASE tools are exemplified by: macro recorders, web page design software, Access database query/report/screen design tools, and other tools where the programmer uses a pagelayout design application, and then the tool turns it into source code. Testing Regimens The six Testing Regimens correspond to the six objectives of the test bed: Debugging: Does the program work correctlly? Alpha Testing: Does the program accomplish its purpose? Module Testing: Does the program work with its related programs? Integrative Testing: Do the modules integrate together to accomplish the system goals? Volume Testing: Does the system work under full load and at full capacity? Beta Testing: Can the user run the business with the system? Different testing regimens involve different individuals on the project team. Beta testing involves users not on the project team! Watch out for Scope Creep during end-user testing! Version Control keeps track of where each program is within the coding and testing steps. It prevents a program from being tested twice, or not being tested at all, and ensures that a program is re-tested from the beginning of the regimen after every update or change. The Development Phase ends with User Signoff. Often this is a formality for in-house SDLC projects, but is critical for purchased or customized software as it establishes transfer of ownership and creation of obligations on the parties. In effect, user-signoff is the FOB Point for SDLC purchases! IMPLEMENTATION PHASE NOTES Implementation begins right after User Signoff. Installation of the Software on the Production Platform Review the difference between Development Platform and Production Platform. Installation must include re-testing! User Training This can often start well before the software is completed. Often, user training starts during Beta Testing.

Loading of the Real (Live) Data or Conversion of data from old to new system Also needs to be tested. Cutover (Going Live) Approaches Modular Parallel Cold Turkey, Drop Dead, Big Bang, etc. Shakedown Cruise This is not debugging! This is making minor adjustments, tweaks, and polish. Transition to Maintenance Phase Emphasize the Difference between Routine Support and Changes/Modifications/Fixes DOCUMENTATION NOTES Documentation should have been ongoing throughout the project. Documentation should include: Project Administrative History User Contributions (interviews, comments, requests, reasons/rationales, approvals, etc.) Data Dictionary Development History Program Specifications, Program source code, compilation history, Testing History, Change History, Version Control records EVALUATION PHASE NOTES Debriefing at the end of the Shakedown Cruise is critical to help future projects avoid making the same mistakes Complete review at the end of the first year, etc. after implementation is highly recommended, but often is deliberately forgotten or overlooked. Why? End of the Life Cycle? Only upon replacement.