You are on page 1of 52

Systems Analysis and Design - 1

Chapter 1
Introduction to Systems Analysis and Design
Introduction
What is Information Technology?

 Business success depends on information technology.


most companies give IT budgets a high priority, in good times
or bad. The reason is:
oDuring periods of growth, companies cannot afford to lag behind the IT
curve.
oConversely, when the economy slows down, firms often use IT to
reduce operating costs and improve efficiency.
Information System Components
Information System Components
(Cont.)
Information System Components
(Cont.)
What is Systems Analysis and Design?
What is Systems Analysis and
Design (SAD)?
• Systems Analysis
• is the process of understanding and specifying in detail what
the information system should accomplish

• System Design
• is the process to define and describe in detail how the
components of the information system should be physically
implemented
• Who is the System Analyst?
The system analyst bridges the gap between business
users and computer technicians
• What does a System Analyst do?
Studies the Problems and Requirements of an
organization to determine how people, methods,
and computer technology can best accomplish
improvements for the business
ROLE OF ANALYST

• Facilitate communication between all groups with a


stake in the project.

• Elicit requirements from as many sources as possible

• Document requirements in an accurate and consistent


manner, ensuring as many good properties as possible.

• Manage future revisions of requirements (version


control) to meet evolving needs of system.
STAKEHOLDERS
Who has an interest in the final system and therefore,
an influence on requirements?

Managers (could be clients)

Clients (pays for System) Regulators

System Analyst
Day-to-Day users Developer (Systems analyst,
requirements engineer, systems
Technical engineer, system designer,
support programmer, test engineer)
END-USER OF INFORMATION SYSTEM
MODELS, TECHNIQUES AND TOOLS
• Models: A representation of some important aspect of
the real world
– Models used in system development include representations of
inputs, outputs, processes, data, objects, object interactions,
locations, networks, and devices etc.
– Graphical
– Mathematical
– Physical
• Techniques: a collection of guidelines that help the
analyst complete a system development activity or task
– Data modeling techniques
– Software testing techniques
• Tools: Supportive software that helps create models or
other components required in the project.
– Computer-aided system engineering (CASE) tools
– Integrated development environment (IDE)
Essential Principles for Successful
System Development
The System is for the End-User
Establish Phases and Tasks

Problem-Solving Skills

System Development is Not a Sequential Process

Systems Are Capital Investments

Don’t Be Afraid to Cancel

Documentation Is a Product of All Phases


What Counts as a Project Failure?

• Complete failure implies no deliverable output.


• Other types of failure include:
– Cost overruns
– Software quality problems
– Missed deadlines
– Unsatisfied stakeholders
– Operational failure
Characteristics of Good Analyst

• persnickety:
– question everything, assume nothing
• Impartiality:
– find the best solution to the business problem
• Relax constraints:
– assume anything is possible and eliminate the infeasible
• Attention to detail:
– be precise, comprehensive, consistent
• Re-framing:
– be creative, ‘think outside the square’
The System Analyst Knowledge and
Skills

• Technical Knowledge

• Business Skills

• Communication skills

• Critical thinking skills


System Development Methods
System Development Methods (Cont.)
System Development Methods (Cont.)
System Development Methods (Cont.)
System Development Methods (Cont.)
System Development Methods (Cont.)
System Development Methods (Cont.)
WATERFALL MODEL
waterfall model
assumes that the various phases of a project can be carried out and completed entirely
sequentially.

25
Waterfall Model

Strengths Weaknesses
 Ideal for supporting less  Inflexible, slow, Costly and
experienced project teams. Cumbersome.

 Orderly sequence of steps and  Problems not identified until


strict control ensures Quality, testing.
Reliability and Maintainability of
developed system.  Difficult to respond to changes.

 Progress is measurable.  Depends on early identification


and specification of
requirements, yet users may not
be able to clearly define them.

26
System Development Methods (Cont.)
System Development Methods (Cont.)
Agile Manifesto (2001)

http://agilemanifesto.org/
Principles behind the Agile Manifesto

1. Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.

2. Welcome changing requirements, even late in development. Agile processes


harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months,


with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
Principles behind the Agile Manifesto
7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers,


and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity--the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing
teams.

12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
SCRUM
Scrum Overview

• Scrum is an Agile process;


• Used to manage complex projects since 1990;
• Delivers business functionality in 30 days;
• Business sets the priorities;
• Teams self-organize to determine the best way
to deliver the highest priority features.
• Scalable to distributed, large, and long projects;
• Extremely simple but very hard!
Scrum - framework

• Sprint planning – “definition of Done”


• Sprint review – “the demo”
• Sprint retrospective
• Daily scrum meeting

Scrum master team

Product owner
DevOps
What is DevOps?
• Don’t get scared with this term ‘DevOps.’
• DevOps is nothing but the practice or
methodology of making ‘Developers’ and the
‘Operations’ team work together.
What is DevOps?
• DevOps is a software development strategy
which bridge the gap between the dev and
the ops side of the company.
Why DevOps?
• Before DevOps came into the picture,
• Waterfall Methodology was used for software
development. But this methodology suffer from:
– At any stage, it is really difficult to go back and make
changes
– It is a risky process
– Its main focus is to help internal teams work efficiently. It
excludes end-users/clients
– It imposes heavyweight processes like generation of
unnecessary artefacts (typically documentation)
Why DevOps?
• Following Waterfall, there was a gap between
customers’ software requirements and the
developers which was overcome by Agile

• Agile overcome these disadvantages and bridge


the gap between Customers and Developers.
Why DevOps?
• Agile development practices involve iterative
development, along with focusing on
customer feedback, incorporating small rapid
changes, and speeding up releases.
• However, the true value of the Agile (and in
particular the practice of Continuous
Integration and Delivery) has often been
negated at the final push by traditional
operational requirements.
Why DevOps?
• While Development (in order to meet changing Business
needs) have been trying to put releases into Production more
frequently by delivering incremental changes.
• Operations have been trying to reduce risk by slowing down
the rate of change
• DevOps was introduced in order to overcome
the gap between developers and the
operations team.
DevOps Lifecycle
DevOps Lifecycle
• Code: The first step in the DevOps life cycle is coding,
where developers build the code on any platform
• Build: Developers build the version of their program in
any extension depending upon the language they are
using
• Test: For DevOps to be successful, the testing process
must be automated using any automation tool like
Selenium
• Release: A process for managing, planning, scheduling,
and controlling the build in different environments
after testing and before deployment
DevOps Lifecycle
• Deploy: This phase gets all artifacts/code files of the
application ready and deploys/executes them on the
server
• Operate: The application is run after its deployment,
where clients use it in real-world scenarios.
• Monitor: This phase helps in providing crucial
information that basically helps ensure service uptime
and optimal performance
• Plan: The planning stage gathers information from the
monitoring stage and, as per feedback, implements the
changes for better performance
Different Lifecycle Stages
• Sources:
[1] Systems Analysis and Design Elevent Edition
(Shelly Cashman Series) authors Tilley /
Rosenblatt PUblisher Cengage ISBN 978-1-
337-68715-7.
[2] Satzinger, Jackson, and Burd ,Systems
Analysis and Design in a Changing World (6th
edition), Course Technology

You might also like