SAD Notes
SAD Notes
SAD Notes
Design-(SAD)
S. S, Kivaria,
M.Eng.Computer Sc. & Tech.
Steven
Introduction & Terminologies
Steven
Systems analysis defines the problems to be solved
and provides the architecture of the proposed
system.
The terms analysis and synthesis come from Greek
where they mean respectively "to take apart" and "to
put together".
Analysis is defined as the procedure by which we
break down an intellectual or substantial whole into
parts.
Synthesis is defined as the procedure by which we
combine separate elements or components in order
to form a coherent whole. Steven
Introduction cont…
System analysis is an explicit formal inquiry
carried out to help a decision maker identify a
better course of action and make a better
decision than he might otherwise have made.
Systems analysis is a problem-solving
technique that decomposes a system into its
component pieces for the purpose of studying
how well those component parts work and
interact to accomplish their purpose.
Steven
Introduction cont..
This is a process used in the design of new
systems. Systems analysis follows stages of
investigation, design and implementation.
Each stage should involve close
consultation with potential users, in the
various functional areas of the organisation,
to ensure that their information and
operational requirements are met.
When to use system analysis and
design
To correct problem in existing system
To improve existing system
Usher in a new system
Outside group may mandate change
Competition can lead to change
System Analysis Techniques
Logical data modeling
This is the process of identifying, modeling and documenting the data
requirements of the system being designed. The data are separated into
entities (things about which a business needs to record information)
and relationships (the associations between the entities).
Steven
Systems Development Tools and Techniques
Prototyping
Prototyping tests system concepts and provide an
opportunity to examine input, output, and user
interface before final decisions are made.
Early working version of an information system
Cons
Pros Important decisions
Speeds up the might be made too
development early, before business
process significantly or IT issues are
Users interact with thoroughly
Prototype very understood
quickly Initial Design
Users can identify decisions may be
needed changes poor
and refine real
requirements
Steven
Systems Development Tools and Techniques
Steven
The Systems Analyst and
Information Systems Development
Steven
Key Ideas
Steven
The Systems Analyst
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.
Steven
The Systems Analyst
Steven
Systems Analyst Skills
Steven
Must have technical skills, as well as,
business skills
Communicate effectively and give
presentations
Must be able to deal fairly, honestly, and
ethically with other project members,
managers, and systems users
Steven
Project Team Specialization
Business analyst
Systems analyst
Infrastructure analyst
Change management analyst
Project manager
Steven
Systems Analyst Specialization
Steven
Change Management Analyst
Steven
Project Manager
Highly experienced systems analyst.
Ensures that the project is completed on
time and within budget.
Makes sure the system delivers the
expected vale to the organization.
Steven
The Systems Development Life Cycle
(SDLC)
3 - 25 Steven
System Project Overview
Scope Definition
Is the project worth looking at?
Problem Analysis
Is a new system worth building?
Requirements Analysis
What do the users need and want from the new
system?
Logical Design
What must the new system do?
Decision Analysis
What is the best solution?
Steven
Steven
Reasons for systems projects
Improved service
Better performance
More information
Stronger controls
Reduced cost
Steven
Factors that affect systems projects
Internal Factors External Factors
Strategic plan Technology
Top managers Supplier
User requests Customers
Information Technology
technology Competitors
department The economy
Existing systems
Government
Steven
Systems Development Life Cycle
Feasibility Study
Measure of Operational
how suitable feasibility
system
development
The
will be to the Technical
feasibility
four
feasibility
Schedule
(Time)
company
feasibility
tests
Economic
feasibility
(cost-benefit
analysis)
Steven
The SDLC…
Steven
The SDLC is composed of four fundamental
phases:
Planning
Analysis
Design
Implementation
Steven
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
Steven
Each of the phases include a set of steps,
which rely on techniques that produce specific
document files that provide understanding
about the project.
Steven
Processes and Deliverables
Process Product
Design System
Specification
Steven
To Understand the SDLC:
Each phase consists of steps that lead to
specific deliverables
The system evolves through gradual
refinement
Steven
Steven
Project Management
Steven
Phase 1. Planning
Steven
This phase is the fundamental process of
understanding why an information system
should be built.
The Planning phase will also determine how
the project team will go about building the
information system.
The Planning phase is composed of two
planning steps.
1 - 40 Steven
Planning Steps
During project initiation, the system’s
business value to the organization is identified
(How will it lower costs or increase revenues?)
During project management, the project
manager creates a work plan, staffs the project,
and puts techniques in place to help the project
team control and direct the project through the
entire SDLC.
1 - 41 Steven
Planning Steps cont..
1 - 42 Steven
Planning Activities
Review project requests
Prioritize project requests
Allocate resources
Identify project development team
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project
Steven
Planning deliverables
1 - 44 Steven
Phase 2. Analysis
Steven
The analysis phase answers the questions of
who will use the system, what the system will do,
and where and when it will be used.
During this phase the project team investigates
any current system(s), identifies improvement
opportunities, and develops a concept for the
new system.
This phase has three analysis steps.
1 - 46 Steven
Analysis Steps
1. Analysis strategy: This is developed to guide the
projects team’s efforts. This includes an analysis of
the current system.
2. Requirements gathering: The analysis of this
information leads to the development of a
concept for a new system. This concept is used to
build a set of analysis models.
3. System proposal: The proposal is presented to
the project sponsor and other key individuals who
decide whether the project should continue to
1 - 47
move forward.
Steven
Analysis Steps Cont..
1 - 48 Steven
The system proposal is the initial deliverable
that describes what business requirements the
new system should meet.
The deliverable from this phase is both an
analysis and a high-level initial design for the
new system.
1 - 49 Steven
Analysis Activities
Conduct preliminary investigation.
Determine exact nature of problem or improvement and whether it is worth
pursuing.
Findings are presented in feasibility report (feasibility study)
Perform detailed analysis activities:
Study current system
Determine user requirements
Recommend solution
Analysis strategy
Gathering business requirements
Requirements definition
Process modeling
Data modeling
Steven
Analysis Deliverable
1 - 51 Steven
Analysis:
Requirements Analysis
Steven
Information Discovery –(ID)
The process of collecting information about
system problems, opportunities, solution
requirements, and priorities
Steven
ID-Cont..
Review and sampling of existing documentation,
reports, forms, databases, etc
Interview
Joint-application design (JAD) session
Joint requirement planning (JRP)
Research of relevant literature
Observation of the current system
Questionnaires and surveys
Steven
ID-Cont..
Joint requirements planning (JRP)
Steven
Phase 3. Design
Steven
In this phases it is decided how the system will
operate, in terms of the hardware, software, and
network infrastructure; the user interface, forms, and
reports that will be used; and the specific programs,
databases, and files that will be needed.
1 - 59 Steven
Design Steps
Design Strategy: This clarifies whether the system
will be developed by the company or outside the
company.
Architecture Design: This describes the hardware,
software, and network infrastructure that will be used.
Database and File Specifications: These
documents define what and where the data will be
stored.
Program Design: Defines what programs need to be
written and what they will do.
1 - 60 Steven
Design Steps Cont..
1 - 61 Steven
Design Activities
Assesses feasibility of each alternative solution
How system will be developed
Recommends the most feasible solution
Design selection
Architecture design
Interface design
Data storage design
Program design
Steven
Design Deliverable
1 - 63 Steven
Phase 4. Implementation
Steven
During this phase, the system is either developed
or purchased (in the case of packaged software).
This phase is usually the longest and most
expensive part of the process.
The phase has three steps.
1 - 65 Steven
Implementation Steps
System Construction: The system is built and
tested to make sure it performs as designed.
Installation: Prepare to support the installed
system.
Support Plan: Includes a post-implementation
review.
1 - 66 Steven
Implementation Steps Cont..
1 - 67 Steven
Implementation Activities
Construction
Program building Develop programs
Install and test new system
Program and system testing
Installation
Conversion strategy
Training plan
Convert to new system
Support plan
Steven
Implementation Deliverable
1 - 69 Steven
Phase 5. Support and Maintenance
Conduct post-implementation system review
Identify errors and enhancements
Monitor system performance
Steven
Analysis & Design:
Methodologies
Steven
Methodologies ..
waterfall approach,
CASE tools,
Prototype,
RAD/RSD,
JAD,
Object-oriented methodology.
Steven
Waterfall
Steven
Waterfall
A sequence of stages in which the output of each stage
becomes the input for the next.
In the waterfall model, it is possible to rework earlier
stages in the light of experience gained at a later stage.
Each stage is signed off and the next stage is proceeded
with. However the end user is rarely involved in the
development stage, even though they may well be
involved in signing off.
It is therefore critical that the analysts and the
programmers understand the end-users’ requirements.
This can be quite difficult with the waterfall model.
Steven
Waterfall Benefits
Misunderstandings are detected at early stages
Identifies systems requirements long before programming
begins
The user will notice any missing functions, incomplete or
inconsistent requirements.
Minimizes changes to requirements as project progresses.
Can be built quickly to demonstrate systems
It can be used for training before the system is finished
Steven
Waterfall Shortcoming
Design must be specified on paper before programming
begins
Long time between system proposal and delivery of new
system
The waterfall model has disadvantages, which can be
overcome using Prototyping, in which a model of the
system is developed in partnership with the end-user.
The features are worked out with the end user using a
prototype, and the end user can have a considerable
input into the development of a project.
Steven
Rapid Application Development (RAD)
Utilizes prototyping to delay producing system design
until after user requirements are clear
Phased development
A series of versions developed sequentially
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Steven
Phased Development
Steven
Prototyping
Steven
Prototyping
Steven
Prototyping
Steven
Prototyping
Benefits
Users interact with prototype very quickly
Users can identify needed changes and refine real
requirements
Shortcoming
Tendency to do superficial analysis
Initial design decisions may be poor
Steven
Throwaway Prototyping
Steven
Throwaway Prototyping
Benefits
Risks are minimized
Important issues are understood before the real
system is built
Shortcoming
May take longer than prototyping
Steven
Joint Application Design (JAD)
Steven
Steven
A process that ensures that:
1) the system has implemented ALL the requirements
in the specification;
2) All the implemented features correspond to the
requirements.
Steven
Ensures that each function works correctly.
Steven
Agile methodology
The integration of various approaches of systems analysis and design
for applications as deemed appropriate to the problem being solved
and the system being developed.
• Developed as a counter-rigor approach. Individuals are valued over
processes and tools (which means developers get all the goodies they
need/want).
• Informal communication is more important than written
documentation.
• Working code is more important than formal documentation /
specification.
• Collaboration with customer important.
• Response to change is immediate and requires no formal planning.
+ Good for homogeneous enthusiast-type groups with low cadre turn-
over.
- Poor for controlled environments.
Steven
Agile
Steven
Extreme Programming (XP) involves back-to-back edits of the code
by paired developers. Maximum creativity, minimum administration.
Steven
+ Control creativity.
+ Encourages communication & feedback on all stages of
development and among all team members (including
customers).
+ Minimizes administrative overhead.
+ Encourages simplicity, fast releases.
Steven
1.Planning: each user describes how the system should work and what value each
feature provides (user accounts are reconciled by developers in order to determine
what features are needed and testable).
2. Small releases: the goal is to deliver fast and provide increments on ongoing
basis.
3. Metaphor: common reference book and vision is adopted.
4. Simplicity is the key.
5. Tests are written first (functional specified by customer; unit tests written by
developers).
6. Refactoring of specs, code, design, etc.
7. Pair programming
8. Collective ownership (anybody can change anything)
9. Continuous availability (the system can be built anytime)
10. Sustainable development pace (no heroism!)
11. Customer availability (preferably on site!)
12. Coding standards are enforced.
Steven
-Test cases do not necessarily correspond to
requirements.
-It may be more important to take time and find out
what really needs to be done rather than quickly do
something that is not really needed.
-Refactoring degrades system architecture.
-Cannot be practiced in loose or geographically spread-
out environment.
Steven
Agile Benefits & Shortcoming
Benefits
Fast delivery of results
Works well in projects with undefined or changing
requirements
Shortcoming
Requires discipline
Works best in small projects
Requires much user input
Steven
Selecting the Appropriate Methodology
Clear user requirements
Familiarity with technology
Complexity of system
Reliability of system
Time schedule
Schedule visibility
Steven
SDLC Phases In Summary
Steven
SDLC- Strengths & Weakness
Strengths Weaknesses
Control. Increased development time.
Monitor large projects. Increased development cost.
Detailed steps. Systems must be defined up
Evaluate costs and completion front.
targets. Rigidity.
Documentation. Hard to estimate costs, project
Well defined user input. overruns.
Ease of maintenance. User input is sometimes limited.
Development and design
standards.
Tolerates changes in MIS
staffing. Steven
Steve