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.
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:
- The SDLC has four phases: Planning, Analysis, Design, Implementation. Memorize the order and the question of each phase.
- Each phase produces a deliverable. The deliverable is the input of the next phase.
- A methodology says how the phases are ordered. The phases are the same; the ordering and the number of repetitions change.
- 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.
| Phase | Question it answers | Typical steps | Deliverable |
|---|---|---|---|
| Planning | Why? Is it worth it? | Project initiation, feasibility, project management | System request, feasibility analysis, project plan |
| Analysis | Who, what, when, where? | Analysis strategy, requirements gathering, modeling | System proposal |
| Design | How will it work? | Design strategy, architecture, interface, database, program design | System specification |
| Implementation | Build and hand over | Coding, testing, installation, training, support plan | Working 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:
| Role | Focus |
|---|---|
| Business analyst | Business value, business processes, the benefit of the system to the organization |
| Systems analyst | How information technology will improve business processes, analysis and design |
| Infrastructure analyst | Network, hardware, database, the system’s fit with the existing infrastructure |
| Change management analyst | People and the organization: training, adoption, managing resistance |
| Project manager | Schedule, 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.
| Element | Meaning |
|---|---|
| Product owner | Responsible for the product vision and the priority of the product backlog |
| Scrum master | Facilitates the process, removes obstacles; not a boss |
| Development team | A self-managing, cross-functional team |
| Product backlog | The prioritized list of all work (user stories) |
| Sprint | A fixed-length iteration of 1-4 weeks |
| Sprint backlog | The work to be done in that sprint |
| Daily scrum | A 15-minute daily meeting: what did I do yesterday, what will I do today, are there obstacles |
| Sprint review / retrospective | Show 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.
| Phase | What happens | Ends with |
|---|---|---|
| Inception | Scope, business case, feasibility | The main idea and approval |
| Elaboration | Most of the requirements, the architecture is settled | Architectural baseline |
| Construction | Most of the software is developed and tested | Beta release |
| Transition | Handover to the user, installation, training | Working 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:
| Criterion | In this project | Method it points to |
|---|---|---|
| Clarity of requirements | Low | Prototyping, agile |
| Technical complexity | Medium, familiar technology | Any will do |
| Schedule | Short | RAD, agile |
| User seeing it early | Wants to | Prototyping, iterative, agile |
| Team | Small, experienced | Agile 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 idea | The truth |
|---|---|
| The SDLC has five phases, “maintenance” is also a phase | In this course there are four phases: Planning, Analysis, Design, Implementation |
| Feasibility is done in the analysis phase | It is done in the Planning phase |
| The system proposal is the output of design | It is the output of analysis; the output of design is the system specification |
| Agile = no documents, no plan | There are documents and plans, just “enough” and with short cycles |
| The scrum master is the boss of the team | A facilitator; the product owner sets the priority |
| Parallel development makes integration easier | On the contrary, integration is its hardest part |
| A system prototype is discarded | A throwaway one is discarded; a system prototype grows into the system |
| In UP each workflow is in a single phase | Workflows spread across all phases, with varying intensity |
Test yourself
Exam-style questions. Solve them on paper first, then reveal the answer.
Which SDLC phase answers the question why the system should be built and whether it is feasible?
- Planning
- Analysis
- Design
- Implementation
Show answer
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".
List the four phases of the SDLC in order.
Show answer
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.
What is the main deliverable at the end of the analysis phase?
- System request
- System proposal
- System specification
- Installed system
Show answer
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.
In which methodology is the design phase split into subprojects that are designed and implemented at the same time, then integrated at the end?
- Waterfall
- Parallel development
- Prototyping
- Extreme Programming
Show answer
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.
Give two disadvantages of the waterfall methodology.
Show answer
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.
Which role of the systems analyst focuses on how people and the organization will react to the new system and on managing resistance?
- Business analyst
- Infrastructure analyst
- Change management analyst
- Project manager
Show answer
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).
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
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.
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?
- Waterfall, because it is the most structured
- A RAD/iterative or agile approach, because users can give early feedback
- Parallel development, because it removes integration risk
- No methodology is needed
Show answer
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.
In the Unified Process, name the four phases in order.
Show answer
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.
Which statement about the Unified Process is TRUE?
- Each workflow happens in exactly one phase
- It is use-case driven, architecture-centric, iterative and incremental
- It forbids iterations inside a phase
- It does not use UML
Show answer
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.
A throwaway prototype and a system prototype differ mainly in what way?
Show answer
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.
Which agile practice requires two programmers to work together at one workstation, one writing code and one reviewing?
- Refactoring
- Pair programming
- Timeboxing
- Daily scrum
Show answer
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.