320 likes | 428 Views
Review For Exam 3 (Part 1). BUS3500 - Abdou Illia, Fall 2009. Managing the Development of IS - I. Systems Development Methodology?. The process companies go through to develop and maintain an information system Framework for successful IS development
E N D
Review For Exam 3 (Part 1) BUS3500 - Abdou Illia, Fall 2009
Systems Development Methodology? • The process companies go through to develop and maintain an information system • Framework for successful IS development • A System Development Methodology is used • For building a new system • Or for modifying an existing system • Examples of SDM: • System Development Life Cycle ■ Prototyping • Joint Application Development ■ Rapid Application Development
Questions • Which of the following is true about SDM? • They provide guidelines for developing IS and maintaining them which includes upgrading and improving them. • SDM are needed when a brand new IS has to be developed, but you don’t need to use a SDM when it comes to modifying an existing IS. • When a company is engaged in developing an IS, the process involves the company’s employees who would be the future users of the IS, and IS professionals like system analysts and programmers. But it doesn’t involve the company’s management • All of the above
Traditional Systems Development Life Cycle (SDLC) Planning Analysis • Seven phases • Planning 5) Testing • Systems Analysis 6) Implementation • Systems Design 7) Maintenance • Development • Typically one phase needs to be completed before beginning the next • Problem in later phase may require return to previous phase Design Development Testing Implementation Maintenance
Question • In SDLC, the 7 phases are typically followed in a sequential order, which means we don’t return to a previous phase in any circumstances • True • False
Planning Feasibility Analyses System Development Schedule • Feasibility analyses • Technical Analysis • Do the technologies exist to develop the system? • Economic Analysis • Can the organization afford the system? • Will it provide an adequate Benefit? • Operational Analysis (i.e. assessing the human element of the proposed system) • Resistance to change • Organizational politics • System development schedule • Is the proposed development time line realistic? • Is the programming team available during Programming step? • Planning performed by Project Manager using • Search and investigation (e.g. for technical analysis step) • Total Cost of Ownership analysis • Project Management software
Systems Analysis Analyze current system Define new system requirement • Systems analyst works with company to understand the problem fully and to detail the requirements of the proposed system • Step 1: Analyze current system • Objectives: • Understand what things are done and how (business processes) • Identify any problems associated w/ current business processes • Techniques: • Observe employees at work • Talk to employees (potential users) • Conducting interviews
Systems Analysis Analyze current system Define new system requirements • Step 2: Define new system’s requirements • Main Objective: • Specify What need to be done (not how to do it) • To be defined: • Input requirements (nature of data, source, etc.) • Processing requirements • Output requirements (Types of reports, content, etc.) • Storage requirements • Tools and techniques • Data flow diagrams (DFD) • Start with high level process • Add more levels with increased levels of detail • Computer-Aided Software Engineering (CASE) tools • Software that eases the systems development process
Data Flow Diagrams (DFD) Process . Symbolized by a rectangle or a curved rectangle. . Action performed by people of organizational units in order to transform input into output OR Action performed by people in the organizational units to help the units achieve their objectives Data flow . Symbolized by an arrow.. Shows data being passed from or to a process External Entity Symbolized by a square, an external entity is something (person, group, department, etc.) outside the system that interacts with the system by providing input or receiving information. Data storage Used to store data in the system. Represents a file, a database, etc.
DFD Exercise • You should be able to answer Questions 1, 2, and 3 of the Lincoln Pizza’s ordering system DFD exercise. Hardcopies were given in class. You can also get a copy in the Notes’ section or in the Review section of the course web site.
Systems Design • Using the requirements from Systems Analysis phase to design the new or modified system. • Logical systems design • Details the system’s functionality (what it should do?) • Uses Structure charts to create top-down representation of system’s modules • Uses System flowcharts to show relationships between modules • Physical systems design • Specifies all of the actual components (hardware, network, etc) used to implement the logical design • The design must be frozen at end of this phase to prevent the to system grow indefinitely in terms of its scope and features • Scope creep • Feature creep • Performed by system designer or (system analyst in some case)
Development • Programming process is usually the most difficult and time consuming in the Development process. • Development performed by programmers, database developers, and network engineers • Programmers use Program Development Cycle • Review the input, processing, output, and storage requirements • Develop the logic of the programs (using Flowcharts and Pseudo code) • Write the programs using code generators & programming languages • Test and debug the programs • Complete the programs documentation
Development tools Program Flowchart: Graphical illustration of the problem-solving logic within a program Pseudocode: English-language statements that describe the processing steps of a program in paragraph form. • Programming languages: • Java • C++ • Visual Basic • Etc. Code generators: Software that generate programs that programmers could modify.
Testing • Programmers test modules • Do they return proper outputs? • Do they handle incorrect data appropriately? • Development team do unittesting • i.e. testing how modules work together • System testing (software along with database and network component) • Verification: Testing system in simulated environment with simulated data • Validation: Testing system in real working environment with real data
Implementation • Implementation strategies • Direct cutover: Quick change to new system • Parallel conversion: Old and new systems used in parallel for a while. • Pilot testing: New system installed at only one location or one department • Staged conversion: Only one part of the system installed, then another part is installed. • User training
Maintenance • Maintenance counts for as much as 80% of the total cost of an information system • Tasks • Correct errors found during implementation • System enhancements • Incremental upgrades • Addition of major new features
SDLC: Recap Make sure you can answer questions about System Development (see link in Notes’ section)
Prototyping • A SDM that addresses: • Time consuming issue associated with SDLC • SDLC’s inability to take care of new requirements • A SDM in which the Development team uses limited set of users requirements to quickly build a working model of the proposed system – a prototype.
Identify basicrequirements Develop aprototype Use theprototype Is Usersatisfied? Operationalprototype YES NO Develop final system(improved prototype) Revise theprototype Prototyping ActorsDevelopment team, UsersSystem analyst, programmerUsersSystem analyst, programmer
Prototyping • Advantages • Working model ready quickly • Works in situation where requirements are changing • Works in situations where users cannot explicitly express their requirements • Disadvantage • Only a limited number of users involved. So, subject to potential implementation problem.
Joint Application Development (JAD) • A SDM that addresses: • The limited scale of users involvement problem of Prototyping • Potential implementation problem due to limited users involvement • A SDM that brings together the Development team and a significant number of users to define system requirements and develop a prototype.
Identify a validsample of users Set a JAD team(Users, IS professionals, scribe) Run the 1st JAD session(JAD team + Facilitator) Develop system prototype(based on agreed requirements) Run the 2nd JAD session(JAD team + Facilitator) Improve system prototype(based on JAD session results) Joint Application Development (JAD) ObjectivesIdentify agreed upon systems requirementsTest the system and identify agreed changes
Question 2 • Which of the following is true about a JAD facilitator? (Choose all that apply) • Could be an outside consultant • Is the scribe who takes notes • Is responsible for coordinating the JAD sessions • Is responsible for developing the system based on the agreed upon requirements • All of the above
Joint Application Development (JAD) • Advantages: • Helps alleviate conflicting requirements • Its gGreater users involvement leads to greater user acceptance of final system • Disadvantages • Could be expensive and time consuming
Rapid Application Development (RAD) • Combines JAD, Prototyping, and use of Integrated CASE (ICASE) tools to decrease the time for systems development • ICASE tools provide code generating capability • ICASE tools can produce a completed program based on the diagrams developed by systems analysts • ICASE tools can generate tables for a database based on detailed system specifications
Rapid Application Development (RAD) Typical use of RAD Define requirementsthrough JAD session Use ICASE to produceDFD and detailed Datastorages’ specifications Use ICASE to generatetables for Data storages Use ICASE to generateprograms
Object-Oriented Analysis and Design (OOAD) • Uses same phases as SDLC • System Analysis and System Design view system • In terms of objects (e.g. customers, employees, products) • NOT in terms of processes • OOAD identifies each object in the system and • its properties (e.g. SSN, Name, address, etc. for Student) • Its procedures (e.g. A student registers for a class) • Advantages • Reduces time to develop system (objects’ reuse) • Can lead to high-quality systems (reuse of tested objects and procedures)