SEN2022 · Week 1 · Introduction to Systems Analysis and Design

Introduction to systems analysis and design: SDLC and methodologies

The four phases of the SDLC, the roles of the systems analyst, and the differences between methodologies from waterfall to Scrum. Definition questions and 'which methodology fits' questions on the midterm come from here.

systems development life cycle (SDLC)planninganalysisdesignimplementationsystems analystdeliverablewaterfallparallel developmentiterative developmentagileScrumsprintUnified Process (RUP)prototyping

This course is about the work done before coding the software. You learn to answer the questions “what will we do, why will we do it, how will we do it”. The first week is the skeleton of the whole semester: every later topic (feasibility, use case, class diagram, test) fits into a phase of the SDLC. The midterm usually has definition questions (“which phase…”, “which methodology…”) and a short scenario with the question “which methodology fits, and why”.

Golden rules:

  1. The SDLC has four phases: Planning, Analysis, Design, Implementation. Memorize the order and the question of each phase.
  2. Each phase produces a deliverable. The deliverable is the input of the next phase.
  3. A methodology says how the phases are ordered. The phases are the same; the ordering and the number of repetitions change.
  4. The right methodology is chosen according to the project: how clear the requirements are, the schedule, technical risk, and when the user wants to see the system.

What is systems analysis and design?

An information system is hardware, software, data, processes and people together solving a business need. Systems analysis and design (SAD) is the orderly process followed to build this system. A common mistake here is to think of SAD as just “writing documents before programming”. The real goal is to create business value: the system serves the organization to earn money, save money or give better service.

Most projects fail not for technical reasons but because of bad analysis: wrong requirements, unclear scope, users not taking part in the process. That is why this course starts with process, not with code.

SDLC: four phases

The systems development life cycle (SDLC) is the four basic phases every information system goes through.

PhaseQuestion it answersTypical stepsDeliverable
PlanningWhy? Is it worth it?Project initiation, feasibility, project managementSystem request, feasibility analysis, project plan
AnalysisWho, what, when, where?Analysis strategy, requirements gathering, modelingSystem proposal
DesignHow will it work?Design strategy, architecture, interface, database, program designSystem specification
ImplementationBuild and hand overCoding, testing, installation, training, support planWorking system
[Planning]->[Analysis]->[Design]->[Implementation]
    |           |          |            |
 system      system     system      installed
 request     proposal   spec        system

Planning

The project starts with a system request: a business unit reports a need in writing. An approval committee or steering committee evaluates the request. Feasibility analysis looks at “can it be done, is it worth it” from the technical, economic and organizational points of view. If approved, project management starts: the work plan, schedule, team.

Analysis

The analyst studies the current system (as-is) and works out what the new system (to-be) must do. Requirements gathering techniques (interviews, JAD, questionnaires, observation) are used here. Then the requirements are turned into models: the functional model (use case, activity diagram), the structural model (class diagram), the behavioral model (sequence, state machine). Everything is collected in a system proposal document, and the committee decides whether to continue the project.

Design

It is decided how the system will work: will we buy the software, write it ourselves, or have it built outside (design strategy)? The physical architecture (client-server, cloud), user interface, database and file structures, and program modules are designed. The deliverable is the system specification.

Implementation

The system is written, tested and installed. The conversion from the old system to the new one is planned, users are trained, and a support and maintenance plan is prepared. This is the most expensive phase.

PITFALL · testing is not only in implementation. Planning the tests starts in analysis (acceptance criteria) and continues in design. Coding and running tests happen in implementation, but saying “testing is first thought about here” is wrong.

Roles of the systems analyst

In large projects, analysis is not the job of one person; the roles are separated:

RoleFocus
Business analystBusiness value, business processes, the benefit of the system to the organization
Systems analystHow information technology will improve business processes, analysis and design
Infrastructure analystNetwork, hardware, database, the system’s fit with the existing infrastructure
Change management analystPeople and the organization: training, adoption, managing resistance
Project managerSchedule, budget, team, risk; finishing the project on time and on budget

The analyst’s basic skills: technical knowledge, business knowledge, analytical thinking, communication and ethics. The analyst is the bridge between the user and the developer; they must be able to speak both the user’s language and the programmer’s language.

Methodologies

A methodology is a formalized way of carrying out the SDLC phases: which steps, in which order, with which deliverables. Methodologies fall into three big groups.

1. Structured design

Waterfall. The phases are done in sequence, and you do not move to the next one until one is finished and approved. Going back is possible but expensive.

Planning
   \--> Analysis
           \--> Design
                   \--> Implementation

Strength: the requirements are clear before coding, and documentation is strong. Weakness: the user sees the working system very late; if the business environment changes, the system may no longer be right when it comes out.

Parallel development. After planning and analysis a general design is made, the system is split into subprojects, and each subproject is designed and written at the same time. Integration is done at the end. The time is shortened; but if the subprojects depend on each other, integration is hard.

V-model. A variant of waterfall: opposite each development phase there is a test level (requirements ↔ acceptance test, architecture ↔ system test, module design ↔ unit test). The test plan is written early.

2. Rapid application development (RAD)

RAD (rapid application development) aims to show the user something working early.

  • Iterative (phased) development: The system is divided into versions. Version 1 contains the most important requirements and is installed; later versions are added and it grows. The user sees value early, but the first version is incomplete.
  • System prototyping: Analysis, design and implementation are done quickly at the same time, the prototype is shown to the user, and with feedback it grows into the system. Risk: a prototype made in a hurry can turn into a poorly thought-out design.
  • Throwaway prototyping: The prototype is made only to understand unclear requirements (often an interface sketch), then discarded. The system is written with a solid design.

3. Agile development

Agile is based on the values of the Agile Manifesto: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan.

Extreme Programming (XP): Short releases, test-first (tests are written first), pair programming, continuous integration, refactoring, collective code ownership, the customer on site with the team.

Scrum: The most widespread agile framework.

ElementMeaning
Product ownerResponsible for the product vision and the priority of the product backlog
Scrum masterFacilitates the process, removes obstacles; not a boss
Development teamA self-managing, cross-functional team
Product backlogThe prioritized list of all work (user stories)
SprintA fixed-length iteration of 1-4 weeks
Sprint backlogThe work to be done in that sprint
Daily scrumA 15-minute daily meeting: what did I do yesterday, what will I do today, are there obstacles
Sprint review / retrospectiveShow the product / improve the process

The weakness of agile: it struggles in large, distributed teams and in projects that require strict documentation (healthcare, defense).

Unified Process (RUP)

The Unified Process is a methodology used with UML for object-oriented projects. It has three characteristics: use-case driven, architecture-centric, iterative and incremental. It is two-dimensional: four phases over time, and workflows within each phase.

PhaseWhat happensEnds with
InceptionScope, business case, feasibilityThe main idea and approval
ElaborationMost of the requirements, the architecture is settledArchitectural baseline
ConstructionMost of the software is developed and testedBeta release
TransitionHandover to the user, installation, trainingWorking system

The engineering workflows: business modeling, requirements, analysis, design, implementation, test, deployment. Every workflow exists in all phases but its intensity changes: requirements are heavy in Inception and Elaboration, implementation in Construction.

PITFALL · a UP phase ≠ an SDLC phase. Don’t map them one-to-one like “Elaboration = Analysis”. In UP, several workflows run at the same time in each phase. In Elaboration analysis is heavy, but design and coding also begin.

Choosing a methodology: worked example

Scenario: A gym chain wants a membership system. Management doesn’t know exactly what it wants, saying “we’ll know it when we see it”. The system must open within 4 months together with a new branch. The team is small and experienced.

Look at the criteria one by one:

CriterionIn this projectMethod it points to
Clarity of requirementsLowPrototyping, agile
Technical complexityMedium, familiar technologyAny will do
ScheduleShortRAD, agile
User seeing it earlyWants toPrototyping, iterative, agile
TeamSmall, experiencedAgile fits

Result: Scrum or system prototyping. Waterfall does not fit because the requirements are unclear and the user wants to see it early.

Counter-scenario: A bank’s interest calculation module. The rules are precisely defined by law and do not change, the cost of an error is very high, and documentation is required for audit. Here waterfall or the V-model makes sense.

Common mistakes

Wrong ideaThe truth
The SDLC has five phases, “maintenance” is also a phaseIn this course there are four phases: Planning, Analysis, Design, Implementation
Feasibility is done in the analysis phaseIt is done in the Planning phase
The system proposal is the output of designIt is the output of analysis; the output of design is the system specification
Agile = no documents, no planThere are documents and plans, just “enough” and with short cycles
The scrum master is the boss of the teamA facilitator; the product owner sets the priority
Parallel development makes integration easierOn the contrary, integration is its hardest part
A system prototype is discardedA throwaway one is discarded; a system prototype grows into the system
In UP each workflow is in a single phaseWorkflows spread across all phases, with varying intensity

Test yourself

Exam-style questions. Solve them on paper first, then reveal the answer.

Question 1easy

Which SDLC phase answers the question why the system should be built and whether it is feasible?

  1. Planning
  2. Analysis
  3. Design
  4. Implementation
Show answer
A) Planning

The planning phase examines business value and feasibility: the question "Why are we doing this, is it worth it?". Analysis answers "who, what, when, where", and Design answers "how will it work".

Question 2easy

List the four phases of the SDLC in order.

Show answer
Planning, Analysis, Design, Implementation

The order is fixed: Planning (why) → Analysis (what) → Design (how) → Implementation (build, install, hand over). Each phase produces a deliverable that is the input of the next phase.

Question 3medium

What is the main deliverable at the end of the analysis phase?

  1. System request
  2. System proposal
  3. System specification
  4. Installed system
Show answer
B) System proposal

The analysis phase closes with a system proposal, which ends with the analysis strategy, the requirements and the analysis models. The system request is the input of planning, and the system specification is the output of design.

Question 4easy

In which methodology is the design phase split into subprojects that are designed and implemented at the same time, then integrated at the end?

  1. Waterfall
  2. Parallel development
  3. Prototyping
  4. Extreme Programming
Show answer
B) Parallel development

Parallel development splits the system into subprojects after the general design; these are designed and implemented at the same time and integrated at the end. The time is shortened but integration becomes harder.

Question 5medium

Give two disadvantages of the waterfall methodology.

Show answer
Long time before users see a working system; changes late in the project are expensive.

In waterfall the requirements are frozen at the very beginning. The user sees something working only at the end of the project, and by then the business environment may have changed. Going back and redoing a phase is expensive. The advantage: if the requirements are clear and fixed, it is a disciplined process with strong documentation.

Question 6medium

Which role of the systems analyst focuses on how people and the organization will react to the new system and on managing resistance?

  1. Business analyst
  2. Infrastructure analyst
  3. Change management analyst
  4. Project manager
Show answer
C) Change management analyst

The change management analyst focuses on users adopting the system: training, communication, reducing resistance. The business analyst looks at business value, and the infrastructure analyst at the technical infrastructure (network, hardware).

Question 7easy

In Scrum, what is the name of the fixed time period (usually 1 to 4 weeks) in which a potentially shippable increment is produced?

Show answer
Sprint

In Scrum the work is done in fixed time periods called sprints. At the start of a sprint, items are selected from the product backlog in sprint planning, a daily scrum is held every day, and at the end come the sprint review and the retrospective.

Question 8medium

A university wants a new course-registration system. Requirements are unclear and users want to see something working early, but the project has a strict deadline. Which methodology family fits best and why?

  1. Waterfall, because it is the most structured
  2. A RAD/iterative or agile approach, because users can give early feedback
  3. Parallel development, because it removes integration risk
  4. No methodology is needed
Show answer
B) A RAD/iterative or agile approach

The combination of unclear requirements + wanting to see something early + a short schedule points to methods that show the user an early version (prototyping, iterative, agile). Waterfall is weak when requirements are unclear. Parallel development does not reduce integration risk, it increases it.

Question 9medium

In the Unified Process, name the four phases in order.

Show answer
Inception, Elaboration, Construction, Transition

The Unified Process (RUP) consists of four phases. Inception: scope and business case. Elaboration: most of the requirements and the architecture. Construction: most of the software is built. Transition: handover to the user, beta, installation. Within the phases, the workflows (requirements, analysis, design, implementation, test...) continue with different intensity.

Question 10hard

Which statement about the Unified Process is TRUE?

  1. Each workflow happens in exactly one phase
  2. It is use-case driven, architecture-centric, iterative and incremental
  3. It forbids iterations inside a phase
  4. It does not use UML
Show answer
B) It is use-case driven, architecture-centric, iterative and incremental

The three basic characteristics of UP: use-case driven (requirements are managed with use cases), architecture-centric (the architecture is settled early), iterative and incremental (each phase may contain several iterations). Workflows spread across all phases; only their intensity changes.

Question 11hard

A throwaway prototype and a system prototype differ mainly in what way?

Show answer
A throwaway prototype is discarded after clarifying requirements; a system prototype evolves into the final system.

In system prototyping, the quickly made version grows with user feedback and becomes the real system. In throwaway prototyping the prototype is only for understanding the requirements (often just an interface sketch), then it is discarded and the system is rewritten with a solid design. In projects that are unclear and technically risky, throwaway is safer.

Question 12easy

Which agile practice requires two programmers to work together at one workstation, one writing code and one reviewing?

  1. Refactoring
  2. Pair programming
  3. Timeboxing
  4. Daily scrum
Show answer
B) Pair programming

Pair programming is an Extreme Programming (XP) practice. One person writes (the driver) and the other reviews on the spot (the navigator). Errors are caught early and knowledge spreads in the team.

Verification: Conceptual questions; the answers were checked one by one against the standard definitions of the SDLC phases, analyst roles and methodologies (the Dennis, Wixom and Tegarden framework). There are no numeric answers.

Review card

SDLC: Planning (why?) → Analysis (what?) → Design (how?) → Implementation (build+install) Deliverables: system request → system proposal → system specification → working system Analyst roles: business, systems, infrastructure, change management, project manager Waterfall: in sequence, going back is expensive, good if requirements are fixed Parallel: subprojects at the same time, integration risk V-model: a test level opposite each phase Iterative / RAD: release by release, the user sees it early Prototyping: system (grows into the system) vs throwaway (discarded) Agile (XP, Scrum): short iterations, little documentation, customer on site Scrum: product backlog, sprint (1-4 weeks), daily scrum, review, retrospective Scrum roles: product owner, scrum master, development team UP phases: Inception → Elaboration → Construction → Transition UP: use-case driven, architecture-centric, iterative + incremental Choice: unclear requirements + short time → agile/prototype; clear + long → waterfall