System
set of interrelated components with an identifiable boundary working together for a common purpose
Data
raw facts about entities or events
Process
steps needed to alter data (e.g., transmit, display, manipulate, analyze, store, use, etc.)
Technology
tool to help accomplish a process.
Information
processed data such that it allows for meaningful interpretation
IT
device that helps people process or use data
IS
combinations of IT that people build and use to collect, create or distribute meaningful data
Management Information Systems
function that plans for, develops, implements & maintains IT hardware, software & networks that people use to support organizational goals
IS Components Framework
Process, data, technology, people
Project
a temporary endeavor undertaken to produce a unique product, service or result
Project Selection
IS Strategy
Classifying projects
Feasibility analysis
Evaluation criteria
Creeping commitment
Project Management Phases
Initiating/ defining (scope)
Planning (estimating time and cost)
Executing/ controlling (budgets, deadlines)
Closing
Project Management tools & techniques
Project Charter – purpose and scope
Work Breakdown Structure – comprehensive list
Gantt – time (start, end, duration) with task decomposition
PERT – sequence of tasks (critical path)
Systems Development Life Cycle
Planning
Analysis
Design
Implementation
Maintenance
SDLC: Planning
Identify potential problem/opportunity & solution
Prepare a feasibility study
Develop project plan
Project evaluation
SDLC: Analysis
Gather information about current systems & desires
Create logical models of current data & processes
Prioritize, document & sign-off on bus. requirements
Assess “build” versus “buy” options
SDLC: Design
Logical Design – develop proposed models of data and processes that reflect business requirements
Physical Design (Development) – buy and/or create the physical infrastructure, database & programs needed for the actual system to work
SDLC: Implementation
Testing – write test conditions & conduct tests to find errors & verify system meets business requirements
Documentation for users and maintenance
Training content & approaches for specific users
SDLC: Maintenance
User support (help desk) and ongoing training
System administration (backups & updates) and change requests
Performance balancing act
Time, cost, quality (pick 2)
PIECES: Performance
Throughput – too little volume, Response time – too much delay
PIECES: Information
Output and Input – availability, timeliness, effort, accuracy
Data – organization, security, access
PIECES: Economic
Revenue, costs, profit, cash flow: Unknown effects, Underperforming
PIECES: Control
Too little control: errors, crimes, ethics, unauthorized access, Too many delays, wasted effort
PIECES: Efficiency
Use of People, Machines, Material
PIECES: Service (user)
Consistency, Ease of use/access, Flexibility/adaptability
Requirements Determination
Requirement – statement of what the system \n must do and characteristics it must have
Gather information from a variety of sources to determine exactly what is happening and when
Use of a variety of data gathering techniques
Problems versus Symptoms
Problem = reason there is a difference between the existing situation and the desired situation (cause)
Symptom = physical manifestation of the problem (effect)
User Involvement motivation
Creates a sense of ownership
Reduces inhibitions associated with unknowns of a new environment
Eliminates anxieties from lack of communication
Directly related to system success!
Business Process Improvement
Results from studying the business processes, creating new, redesigned processes to improve the process workflows, and/or utilizing new technologies enabling new process structures
Methodology
A formalized approach to implementing the SDLC (i.e., it is a list of tasks, steps, and deliverables).
Parallel Development
Evolved to address the lengthy time frame of waterfall development. After the analysis phase, a general design for the whole system is created. Then the project is divided into a series of subprojects that can be designed and implemented in parallel. Once all subprojects are complete, there is a final integration of the separate pieces, and the system is delivered.
Iterative Development
Breaks the overall project into a series of versions that are developed sequentially. The most important and fundamental requirements are bundled into the first version of the system. This version is developed quickly by a mini‐waterfall process, and once implemented, the users can provide valuable feedback to be incorporated into the next version of the system
Joint Application Development
An information gathering technique that allows the project team, users, and management to work together to identify requirements for the system.
Time boxing
This technique sets a fixed deadline for a project and delivers the system by that deadline no matter what, even if functionality needs to be reduced. Timeboxing ensures that project teams do not get hung up on the final “finishing touches” that can drag out indefinitely, and it satisfies the business by providing a product within a relatively fast time frame.
System Prototype
Performs the analysis, design, and implementation phases concurrently to quickly develop a simplified version of the proposed system and give it to the users for evaluation and feedback
Throwaway Prototype
Includes the development of prototypes but uses the prototypes primarily to explore design alternatives rather than as the actual new system
Design Prototype
Not intended to be a working system. It contains only enough details to enable users to understand the issues under consideration
Agile Development
A group of programming‐centric methodologies that focus on streamlining the SDLC. Much of the modeling and documentation overhead is eliminated; instead, face‐to‐face communication is preferred. A project emphasizes simple, iterative application development in which every iteration is a complete software project, including planning, requirements analysis, design, coding, testing, and documentation
Agile (Extreme Programming)
Emphasizes customer satisfaction and teamwork. Communication, simplicity, feedback, and courage are core values. Developers communicate with customers and fellow programmers. Designs are kept simple and clean. Early and frequent testing provides feedback, and developers can courageously respond to changing requirements and technology. Project teams are kept small.
Rapid Application Development
A collection of methodologies that emerged in response to the weaknesses of waterfall development and its variations. RAD incorporates special techniques and computer tools to speed up the analysis, design, and implementation phases in order to get some portion of the system developed quickly and into the hands of the users for evaluation and feedback.
Rapid Application Development Motivation
Shorter time to delivery – generate useable systems in 6 months or less
Better utilize resources
RAD Heavily relies on
Common tools & techniques
RAD is Iterative
True
Advantages of RAD over SDLC
Shorter development cycles = less expensive systems
Smaller development teams
Better communication amongst all participants
Increased integrity of code due to use of generators
Less time delay between end of design and conversion
Best applied to systems that “have to be done now.”
Disadvantages of RAD
Leaves less time during analysis to really understand the business and the system under development
Consistency and standardization across sub-systems becomes more difficult
Documentation becomes more prone to error
Lower identification of potential reusable code
Less flexible scalability
System administration is often ignored entirely