Introduction To Systems Analysis and Design
Introduction To Systems Analysis and Design
Key Ideas
More than of all IS development projects Fail.
Canceled before completion System is never used once finished Doesn't provide the expected benefits
Key Ideas
Many fail because analysts try to build wonderful systems without understanding the organization. The primarily goal is to create value for the organization.
2005
2004/5 2004
2004
2004 2004
Key Ideas
The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas. It is important to understand and develop through practice the skills needed to successfully design and implement new information systems.
Implementation
Analysis
Design
Project Phases
Planning
Why build the system?
Analysis
Who, what, when, where will the system be?
Design
How will the system work?
Implementation
System delivery
Planning
Identifying business value
Lower costs / Increase profits
Analyze feasibility Develop work plan Staff the project Control and direct project
Planning
Project Initiation System Request Feasibility Analysis Approval Committee
Project Management
Analysis
Answer the Questions:
Who will use the system? What will the system do? When will it be used?
Investigate the current system Identify possible improvements Develop a concept for new system
Analysis
Develops an Analysis Strategy which includes:
Analyze current system & its problems Information gathering
Interviews with users Input from project sponsor and requestor Leads to concept for new system
Analysis
Analysis + System Concept + Models are combined into the System Proposal
Design
Decides how the system will operate Design strategy
Design internally Outsource design Buy off the shelf
Architecture design
Hardware description Software description Network infrastructure
Design
Interface design
How users interact with system Forms / reports used by the system
Design
Program design
What programs need to be written Exactly what each program will do
Design
These deliverables:
Architecture design Interface design Database and file specification Program design
Form the System Specification The System Spec is given to the programming team for implementation
Implementation
The system is actually built in this phase Usually the longest phase
Implementation
Construction
New system is built and tested Often testing is the longest part
Implementation
Conversion / Installation
Old system is turned off New system is turned on
Three approaches
Cutover immediate replacement Parallel both run for a while Phased conversion test group
Implementation
Conversion includes development of a Training Plan
How to use new system Manage change due to new system
Support Plan
Post implementation reviews How to identify changed needed for the system
Analysis
System Proposal
Design
Implementation
What Is a Methodology?
A formalized approach or series of steps
A list of steps and deliverables
Writing code without a well-thought-out system request may work for small programs, but rarely works for large ones.
Parallel Development
Addresses problem of time gap between proposal and delivery Breaks project into parallel subproject Integrates them at the end
Parallel Development
Gets useful system to users quickly Most important functions tested most
RAD: Prototyping
Analysis, Design, Implementation are performed concurrently Start with a "quick-and-dirty" prototype
Provides minimal functionality
Repeat process, refining the prototype each time Stop when prototype is a working system
RAD: Prototyping
RAD: Prototyping
Pros Gets working system to users quickly Reassures users that the project is progressing Cons Fast paced. Hard to conduct careful, methodical analysis Initial design decisions have long term staying power
Prototype is not a working design Once requirements are understood, the prototypes are thrown away The system is then built using SDLC
Throwaway Prototyping
Agile Development
Just a few rules that are easy to learn and follow Streamline the SDLC
Eliminate much of the modeling and documentation Emphasize simple, iterative application development
Agile Development
Examples include:
Extreme Programming (XP) Scrum Dynamic Systems Development Model (DSDM)
Extreme Programming
Core Values
Communication All to All Simplicity - KISS Feedback Embrace Change Courage Quality First
Extreme Programming
User Stories Code small program User Feedback Repeat Standards are important
Naming conventions Coding practices
Extreme Programming
Poor Poor
Poor Poor
Good Good
Excellent Poor
Excellent Excellent
Excellent Poor
Complex systems
Reliable systems Short time schedule Schedule visibility
Good
Good Poor Poor
Good
Good Good Poor
Good
Good Excellent Excellent
Poor
Poor Excellent Excellent
Excellent
Excellent Good Good
Poor
Good Excellent Good
Architecture Centric
The SW architecture drives the specification
Engineering Workflows
Business modeling Requirements Analysis Design Implementation Testing Deployment
Supporting Workflows
Project management Configuration and change management Environment Operations and support* Infrastructure management*
Structure Diagrams
Class Diagrams
Common vocabulary used by analyst and users Represent things (employee, paycheck,) Shows the relationships between classes
Object Diagrams
Similar to class diagrams Instantiation of a class diagram Relationships between objects
Structure Diagrams
Package Diagrams
Group UML elements together to form higher level constructs
Deployment Diagrams
Shows the physical architecture and software components of system For example, network nodes
Structure Diagrams
Component Diagrams
Physical relationships among software components Example Client/Server
Which machines run which software
Composite Structure
Illustrates internal structure of a complex class
Behavior Diagrams
Activity Diagrams
Model processes in an information system
Example: Business workflows, business logic
Behavior Diagrams
Interaction Diagrams
Shows interaction among objects Sequence Diagrams Time
Time-based ordering of the interaction
Timing Diagrams
Show how an object changes over time
Behavior Diagrams
State Machines
Examines behavior of one class Models the different states and state transitions an object can experience
Use-Case Diagrams
Shows interaction between the system and environment Captures business requirements
Business Analyst
Focuses on business issues surrounding the system
The business value of the system Improvements in business processes New business processes needed with new system
System Analyst
Focuses on IS issues
How IS can improve business processes Designs new information system Ensures IS quality standards are maintained
Requires training & experience in design analysis, programming, business (to lesser degree)
Infrastructure Analyst
Focuses on interfaces between new system & existing infrastructure
Makes sure new system follows organizational standards Identifies required infrastructure changes
Project Manager
Responsible for schedule and budget Ensures promised benefits are delivered Manages team members Responsible for project plan and reporting progress Requires project management experience
Summary Part 1
The Systems Development Lifecycle consists of four stages: Planning, Analysis, Design, and Implementation The major development methodologies:
Structured design
the waterfall method Parallel development
RAD development
Prototyping (regular and throwaway)
Agile development
XP streamline SDLC
Summary Part 2
The Unified Process is a two-dimensional systems development process described with a set of phases and workflows The Unified Modeling Language, or UML, is a standard set of diagramming techniques
Summary Part 3
There are five major team roles:
Business analyst Systems analyst Infrastructure analyst Change management analyst Project manager.