ISM
Statement of Work (SOW)
"Contract" between the IS staff and the customer regarding deliverables and time estimates for a system development project
Project management
A controlled process of initiating, planning, executing, and closing down a project
Project
A planned undertaking of related activities to reach an objective that has a beginning and an end (projects are novel)
Enterprise Solutions Software
A system that integrates individual traditional business functions into a series of modules so that a single transaction occurs seamlessly within a single information system rather than several separate systems. Pros are a single repository of data for all aspects of a business process and the flexibility of the modules which ensures more consistent and accurate data, as well as less maintenance. Cons are that the systems are very complex, so implementation can take a long time to complete
JAD
Collect information from a lot of people simultaneously Having all key people together allows analysts to see where areas of agreement and/or conflict are Work through issues together
The Baseline Project Plan (BPP)
Contains estimates of scope, benefits, schedules, costs, risks, and resource requirements
Preliminary Budget
Cost-benefit analysis outlining planned expenses and revenues
Agile usage-centered design
Focuses on user goals, roles, and tasks Ask who is using the system, what are their goals, and how are they using the system (what tasks support the goals)
(0+4r+p)/6
Formula for PERT
Open source software
Freely available software, including source code Systems developed by unpaid volunteers Source code made available to anyone Best known examples: Linux mySQL Apache Firefox
Agile Usage-Centered Design Steps
Gather group of programmers, analysts, users, testers, facilitator Document complaints of current system Determine important user roles Determine, prioritize, and describe tasks for each user role Group similar tasks into interaction contexts Associate each interaction context with a user interface for the system, and prototype the interaction context Step through and modify the prototype
Information Technology Services Firms
Help companies develop custom information systems for internal use, or they develop, host, and run applications for customers, or they provide other services
In-house Development
If sufficient system development expertise with the chosen platform exists in-house, then some or all of the system can be developed by the organization's own staff Hardly ever done completely from scratch, however Hybrid models involving some purchased and some in-house components are common
JAD
Intensive group - oriented requirements determination technique Team members meet in isolation for an extended time Highly focused and resource intensive Started by IBM in 1970s Participants: Session Leader: facilitates group process. Users: active, speaking participants Managers: active, speaking participants Sponsor: high-level champion, limited participation. Systems Analysts: should mostly listen. Scribe: record session activities. IS Staff: should mostly listen.
Prototyping useful when
User requests are not clear Few users are involved in the system Designs are complex and require concrete form History of communication problems between analysts and users Tools are readily available to build prototype
eXtreme Programming
Written by programmers and customers to monitor the development process. Planning, analysis, design, and construction are all fused into a single phase of activity. Uniquely captures and presents system requirements and design specifications. Code is integrated into the system it is being developed for and tested within a few hours after it is written. Uses pair programming (two people working together who write codes and develop tests) Advantages: more (better) communication among developers higher levels of productivity higher quality code reinforcement of the other practices in extreme programming (code-and-test discipline)
Systems development life cycle (SDLC):
a common methodology for systems development in many organizations; it features several phases that mark the progress of the systems analysis and design effort.
Agile Methodologies
a focus on adaptive rather than predictive methodologies a focus on people rather than roles a focus on self adaptive process Argues that software development methodologies adapted from engineering generally do not fit with real world software development Once creative and difficult work of design is completed, construction becomes very predictable. In engineering Construction may account for as much as 90% of the total project. In software Construction may account for as little as 15%, where design constitutes as much as 50%.
Object Oriented Analysis and Design (OOAD):
after the process oriented and data oriented approaches. It combines data and processes (called methods) into single entities called objects. Objects are then organized into object classes, which are groups of objects sharing structural and behavioral characteristics for existing classes. First programs had their own data files Then data and instructions were separated With object-oriented, data and instructions are reunited but at the object level Object classes, objects, inheritance
Rapid application Development(RAD)
an approach to developing information systems that promises better and cheaper systems and more rapid deployment by having systems developers and end users work together jointly in real time to develop systems. Grew out of the increased speed and turbulence of doing business in the 80s and 90s and the ready availability of high powered, computer based tools to support systems development and easy maintenance. Rad usually looks at the system being developed in isolation from other systems, thus eliminating the time-consuming activities of coordinating with existing standards and systems during design and development.
Resource
any person, group of people, piece of equipment, or equipment used in accomplishing an activity
Analysis Tools
automatically check for incomplete, inconsistent, or incorrect specifications in diagrams, forms, and reports.
Design
converting the description of the recommended alternative solution into logical and then physical system specifications. Deliverables: physical system specifications in a form ready to be turned over to programmers and other system builders for construction.
Planning
defining all key aspects of the project: breaking project into manageable tasks determining resources needed establishing a budget & schedule Define clear, discrete activities and the work needed to complete each activity Tasks Define project scope, alternatives, feasibility Divide project into tasks Estimate resource requirements Develop preliminary schedule Develop communication plan Determine standards and procedures Identify and assess risk Create preliminary budget Develop a statement of work Set baseline project plan
Physical Design
design of the various parts of the system to perform the physical operations necessary to facilitate data capture, processing, and information output
Diagramming tools
enable system process, data, and control structures to be represented graphically.
Code Generators
enable the automatic generation of program and database definition code directly from the design documents, diagrams, forms, and reports.
Central Repository
enables the integrated storage of specifications, diagrams, reports, and project management information
Computer display and report generators
help prototype how systems "look and feel". Make it easier for the systems analyst to identify data requirements and relationships
Service Oriented Architecture (SOA):
idea is to build systems around generic services, or specific business functions, which can be used in many different applications An approach to systems development based on building complete systems through assembling software components
Planning
identifying the need for a new or enhanced system. Deliverables: A final presentation on whether or not they should go on with the project or not, usually presented to someone in management or a special management committee
Request for Proposal (RFP)
is a document provided to vendors to ask them to propose hardware and system software that will meet the requirements of a new system
Initiation
laying the foundation Assess size, scope and complexity, and establish procedures Establish: Initiation team Relationship with customer Project initiation plan Management procedures Project management environment Project workbook
Maintenance
making the changes that users ask for and modify the system to reflect changing business conditions. Also, an information system is systematically repaired and improved
Execution
monitoring adherence to the plan Plans created in prior phases are put into action Actions Doing baseline project plan Monitor progress against baseline plan Manage changes in baseline plan Maintain project workbook Communicate project status
Documentation generators
produce technical and user documentation in standard formats
CASE (Computer-aided software engineering)
project initiation and planning; analysis, and design phases and or in the implementation and maintenance phases of the SDLC. An integrated and standard database called a repository is the common method for providing product and tool integration. Helps programmers and analysts do their jobs more efficiently and more effectively by automating routine tasks.
ERP(enterprise resource planning systems)
same as enterprise solutions software.
BPR
search for, and implementation of, radical change in business processes to achieve breakthrough improvements in products and services Reorganize complete flow of data in major sections of an organization Eliminate unnecessary steps Combine steps Become more responsive to future change
Application software
software designed to support a specific organizational function or process, such as inventory management, payroll, or market analysis.
Logical Design
the part of the design process that is independent of any specific hardware or software platform
Implementation
the physical system specifications are turned over to programmers; includes coding, testing, and installation. Deliverables: finalization of documentation, training programs, and ongoing user assistance. can continue for as long as the system exists.
Outsourcing
the practice of turning over responsibility for some to all of an organizations information systems applications and operations to an outside firm Outsourcing examples: A company that runs payroll applications for clients, or a company that runs your applications at your site
Analysis
thoroughly studying an organizations current procedure and the information systems used to perform organizational task. Deliverables: a description of (but not a detailed design for) the alternative recommended by the analysis team.
Close Down
tying up the loose ends the final phase of the project management process that focuses on bringing a project to an end Closing down the project Conducting post-project reviews Closing the customer contract
Prototyping
Iterative development process Rudimentary working version of system is built Refine understanding of system requirements
Prototyping
Iterative process involving analysts and users A simple version of a system is built and revised based on user feedback Quickly converts requirements into a working version of a system Once the user sees requirements converted to system, he will ask for modifications or will generate additional requests
-Difficult to go back to other phases once one phase has been completed -Locks users into requirements that had been previously determined, even though those requirements might have changed -Nebulous and intangible processes such as analysis and design are given hard and fast dates for completion and success is measured by whether those dates are met. -This results in a system that requires much maintenance because the system does not meet user needs , unnecessarily increasing development costs. -Maintenance costs account for 40-70% of system developments costs.
Name the 5 disadvantages of a waterfall
Packaged Software Producers
Quicken, Quickpay, and Quickbooks. Pros are they range from general broad based packages, to very narrow niche packages. Cons are off the shelf software can at best meet 70% of an organization's needs
may be cost effective provides a way for firms to leapfrog their current position in information systems Frees up internal resources Increases the revenue potential of the organization Reduces time to market Increases process efficiencies Gets rid of noncore activities Political reasons
Reasons to outsource
Continual user involvement
Replace traditional SDLC waterfall with iterative analyze - design - code - test cycle
Work Breakdown Structure (WBS)
Scheduling Diagrams Gantt chart: horizontal bars represent task durations Network diagram: boxes and links represent task dependencies
Project manager
Systems analyst with management and leadership skills responsible for leading project initiation, planning, execution, and closedown
Cons of Prototyping
Tendency to avoid formal documentation Difficult to adapt to more general user audience Sharing data with other systems is often not considered Systems Development Life Cycle (SDLC) checks are often bypassed
Deliverable
The end product of an SDLC phase
Cloud Computing
The provision of computing resources, including applications, over the Internet, so customers do not have to invest in the computing infrastructure needed to run and maintain the resources
CASE tools
Used to analyze existing systems Discover requirements to meet changing business conditions