Systems Development Life Cycle (SDLC)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following best describes the primary role of a systems analyst in the SDLC?

  • Testing the system to ensure it meets requirements.
  • Analyzing the business situation and designing an information system. (correct)
  • Writing code for the new system.
  • Managing the project timeline and budget.

The primary goal of a systems analyst is to create the most technologically advanced system possible, regardless of cost.

False (B)

Name the four fundamental phases of the Systems Development Life Cycle (SDLC).

Planning, analysis, design, and implementation.

During the planning phase of the SDLC, the system's business value is documented in the form of a ______.

<p>system request</p> Signup and view all the answers

Match the following SDLC phases with their primary focus:

<p>Planning = Determining why an information system should be built. Analysis = Understanding who will use the system and what it will do. Design = Determining exactly how the system will operate. Implementation = Building or purchasing the system.</p> Signup and view all the answers

A feasibility analysis is conducted during the implementation phase of the SDLC.

<p>False (B)</p> Signup and view all the answers

What is the deliverable of the project management step within the planning phase?

<p>A project plan. (D)</p> Signup and view all the answers

Describe the purpose of an 'as-is' system analysis within requirements gathering.

<p>To analyze the current system and its problems to inform the design of a new system.</p> Signup and view all the answers

In the analysis phase, input from the project sponsor and others leads to the development of a concept for a new system. The system concept is then used as a basis to develop a set of business analysis ______.

<p>models</p> Signup and view all the answers

What document combines analyses, the system concept, and models to present to key decision-makers in the analysis phase?

<p>System Proposal (A)</p> Signup and view all the answers

In the design phase, the design strategy exclusively involves developing the system in-house using the company's programmers.

<p>False (B)</p> Signup and view all the answers

Name two key aspects determined during the architecture design step of the design phase.

<p>Hardware, software, and network infrastructure; interface design.</p> Signup and view all the answers

During the design phase, the 'Database and file specifications' step focuses on what data will be stored and ______.

<p>where they will be stored</p> Signup and view all the answers

What activity is considered one of the most critical steps in the implementation phase?

<p>System Testing (C)</p> Signup and view all the answers

In the implementation phase, the 'installed' step always involves running the old system alongside the new system for a period.

<p>False (B)</p> Signup and view all the answers

What is the main goal of the training plan component of system installation?

<p>To teach users how to use the new system and manage the changes it causes.</p> Signup and view all the answers

The 'support plan' step in the implementation phase includes a formal or informal ______ review.

<p>post-implementation</p> Signup and view all the answers

What is a 'methodology' in the context of systems development?

<p>A formalized approach to implementing the SDLC. (B)</p> Signup and view all the answers

All systems development methodologies place equal emphasis on each phase of the SDLC.

<p>False (B)</p> Signup and view all the answers

Distinguish between a 'process-centered' and a 'data-centered' methodology.

<p>A process-centered methodology emphasizes process models, while a data-centered methodology emphasizes data models.</p> Signup and view all the answers

A methodology that attempts to balance the focus between process and data by incorporating both into one model is called ______.

<p>Object-oriented</p> Signup and view all the answers

Which of the following is NOT a class of system development methodology?

<p>Component-Based Development. (D)</p> Signup and view all the answers

The waterfall development methodology easily accommodates changes to requirements once the project begins.

<p>False (B)</p> Signup and view all the answers

What are the two key advantages of the waterfall approach to structured design?

<p>It identifies system requirements early and minimizes changes to requirements.</p> Signup and view all the answers

A major disadvantage of the waterfall model is that the design must be completely specified before ______ begins.

<p>programming</p> Signup and view all the answers

What is the primary advantage of parallel development methodology?

<p>Reduced time to deliver a system. (C)</p> Signup and view all the answers

In parallel development, subprojects are always completely independent, eliminating the need for integration efforts.

<p>False (B)</p> Signup and view all the answers

How do Rapid Application Development (RAD) methodologies attempt to address weaknesses of structured design methodologies?

<p>By adjusting the SDLC phases to quickly develop parts of the system and get them into the hands of users.</p> Signup and view all the answers

The use of special techniques and computer tools in RAD can lead to a subtle problem: managing user ______.

<p>expectations</p> Signup and view all the answers

In which RAD methodology is an overall system broken into a series of versions that are developed sequentially?

<p>Phased Development (C)</p> Signup and view all the answers

A key drawback to phased development is that users never work with intentionally incomplete systems.

<p>False (B)</p> Signup and view all the answers

Describe the core activity of prototyping methodology.

<p>Performing the analysis, design, and implementation phases concurrently and repeatedly.</p> Signup and view all the answers

A key advantage of prototyping is that it quickly provides a system with which users can ______.

<p>interact</p> Signup and view all the answers

Which RAD approach uses prototypes at a different point in the SDLC to refine key issues before the system is built?

<p>Throwaway Prototyping (D)</p> Signup and view all the answers

Throwaway prototyping produces more stable and reliable systems than prototyping-based methodologies.

<p>True (A)</p> Signup and view all the answers

What document is at the heart of Agile development.

<p>Agile manifesto</p> Signup and view all the answers

Agile methodologies emphasize that the primary measure of progress is working, ______.

<p>executing software</p> Signup and view all the answers

Which value is not one of the core values for Extreme Programming?

<p>Planning (D)</p> Signup and view all the answers

XP encourages small groups of deveopers.

<p>True (A)</p> Signup and view all the answers

Flashcards

Systems Development Life Cycle (SDLC)

Process for understanding how an IS supports business needs by designing, building, and delivering it.

Systems Analyst

Key person in the SDLC who analyzes business situations, identifies improvements, and designs IS.

Primary objective of a Systems Analyst

To create value for the organization.

Four fundamental phases of SDLC

Planning, analysis, design, and implementation.

Signup and view all the flashcards

During Project Initiation

Business value of the system is identified via a system request. A feasibility analysis will be conducted. The system will be presented to an information systems approval committee.

Signup and view all the flashcards

Project Management Deliverable

Project plan describing how the project team will develop the system.

Signup and view all the flashcards

Analysis Phase of SDLC

Focuses on who will use the system, what it will do, and where/when it will be used. Steps include analysis strategy, requirements gathering, and system proposal.

Signup and view all the flashcards

Analysis Strategy

Analysis of the current (as-is) system and designing a new (to-be) system.

Signup and view all the flashcards

System Proposal

Analyses, system concept, and models combined into a document for the project sponsor.

Signup and view all the flashcards

Design Phase of SDLC

Determine exactly how the system will operate. Steps include design strategy, architecture design, database and file specifications, and program design.

Signup and view all the flashcards

Design Strategy

Developed by company programmers, outsourced, or buying an existing software package.

Signup and view all the flashcards

Architecture Design

Hardware, software, and network infrastructure plus interface design.

Signup and view all the flashcards

Database and File Specifications

What data will be stored and where it will be stored.

Signup and view all the flashcards

Program Design

Programs that need to be written and what each will do.

Signup and view all the flashcards

Implementation Phase of SDLC

Final phase where the system is built/purchased. Steps include construction, installation, and support plan.

Signup and view all the flashcards

Construction

Actual building and testing of the system components.

Signup and view all the flashcards

Installation

Turning off the old system and activating the new one, along with user training.

Signup and view all the flashcards

Support Plan

Formal/informal post-implementation review and identifying necessary changes.

Signup and view all the flashcards

Methodology

Formalized approach to implementing the SDLC with steps and deliverables.

Signup and view all the flashcards

Categorizing Methodologies

Process-centered, data-centered, and object-oriented.

Signup and view all the flashcards

Classes of System Development Methodologies

Structured design, rapid application development, and agile development.

Signup and view all the flashcards

Advantage of Waterfall Development

Identifies requirements early and minimizes changes.

Signup and view all the flashcards

Disadvantage of Waterfall Development

Design must be completely specified before programming, and long time elapses before the system is delivered.

Signup and view all the flashcards

Advantage of Parallel Development

Can reduce the time to deliver a system.

Signup and view all the flashcards

Disadvantage of Parallel Development

Subprojects might not be independent, causing integration issues.

Signup and view all the flashcards

Rapid Application Development (RAD)

Adjusting SDLC phases to get a system developed quickly and into users' hands.

Signup and view all the flashcards

Potential Problem with RAD

Managing user expectations.

Signup and view all the flashcards

Phased Development

Breaking a system into versions developed sequentially.

Signup and view all the flashcards

Advantage of Phased Development

Quickly getting a useful system to users.

Signup and view all the flashcards

Drawback to Phased Development

Users begin with an intentionally incomplete system.

Signup and view all the flashcards

Prototyping

Analysis, design, and implementation occur concurrently and repeatedly.

Signup and view all the flashcards

Advantage of Prototyping

Quickly providing a system for user interaction.

Signup and view all the flashcards

Problem with Prototyping

Challenge to conduct careful analysis.

Signup and view all the flashcards

Throwaway Prototyping

Balance analysis/design with advantages of prototypes before building the system.

Signup and view all the flashcards

Agile Development

Based on the agile manifesto with principles like early software delivery and embracing changing requirements.

Signup and view all the flashcards

Examples of Agile Methodologies

Extreme programming (XP) and Scrum.

Signup and view all the flashcards

Core Values of Extreme Programming

Communication, simplicity, feedback, and courage.

Signup and view all the flashcards

Key Principles for Implementing XP

Continuous testing, simple coding by pairs, and close user interactions.

Signup and view all the flashcards

DevOps

Systems development incorporating object-oriented and lean manufacturing principles.

Signup and view all the flashcards

Unified Process

Maps out use of Unified Modelling Language (UML) techniques for object-oriented analysis and design.

Signup and view all the flashcards

Study Notes

Objectives

  • Become familiar with the roles and skills of a systems analyst.
  • Understand the fundamental systems development life cycle and its four phases.
  • Understand the evolution of systems development methodologies.
  • Become familiar with the fundamental principles of object-oriented systems analysis and design.
  • Become familiar with the Unified Process, its extensions, and the Unified Modelling Language.

Introduction

  • The systems development life cycle SDLC is the process of understanding how an information system can support business needs.
  • This is achieved by designing a system, building it, and delivering it to users.
  • The key person in the SDLC is the systems analyst.
  • The systems analyst analyses the business situation, identifies opportunities for improvements and designs an information system to implement improvements.
  • The primary objective of a systems analyst is to create value for an organization.
  • For most companies, this means increasing profits.
  • Government and not-for-profit organizations measure value differently.

The Systems Development Life Cycle

  • Building an information system is similar to building a house.
  • There are four fundamental phases: planning, analysis, design, and implementation.
  • The SDLC is a process of gradual refinement.

Planning

  • Planning understands why an information system should be built and how the project team will build it.
  • Planning has two steps.

Planning - Project Initiation

  • The system's business value to the organization is identified, in the form of a system request.
  • A feasibility analysis will be conducted.
  • The analyzed project is resented to an information systems approval committee, sometimes called a steering committee.
  • The committee will decide whether the project should be undertaken.

Planning - Project Management

  • The deliverable for project management is a project plan.
  • The plan describes how the project team will develop the system.

Analysis

  • The analysis phase focuses on who will use the system, what the system will do, and where and when it will be used.
  • The analysis phase has three steps.

Analysis - Analysis Strategy

  • An analysis strategy usually includes an analysis of the current system, called the 'as-is' system.
  • The analysis will include the current system's problems and ways to design a new system, called the 'to-be' system.

Analysis - Requirements Gathering

  • Gather requirements through interviews or questionnaires.
  • Input from the project sponsor and other people leads to the development of a concept for a new system.
  • The system concept is then used as a basis to develop a set of business analysis models.

Analysis - System Proposal

  • Analyses, system concept, and models are combined into the system proposal.
  • The proposal is presented to the project sponsor and other key decision makers.
  • The key decision makers decide whether the project proceeds.

Design

  • Design determines exactly how the system will operate.
  • There are four steps in the design phase.

Design - Design Strategy

  • Develops the system strategy by asking if the system will be developed by the company's own programmers, outsourced, or whether there will be an existing software package purchased.

Design - Architecture Design

  • The architecture design determines the hardware, software, and network infrastructure.
  • The architecture design also defines the interface design.

Design - Database and File Specifications

  • Database and file specifications denote what data will be stored and where be stored.

Design - Program Design

  • Program design specifies the programs that need to be written and exactly what each program will do.
  • A feasibility analysis and project plan are re-examined and revised during design.
  • Another decision is made by the project sponsor and approval committee about project termination or continuation.

Implementation

  • In the final implementation phase, the system is built or purchased.
  • There are three steps in the implementation phase.

Implementation - Construction

  • During construction, the system is built and tested.
  • Testing is one of the most critical steps in implementation.

Implementation - Installation

  • During installation, the old system is turned off and the new system is turned on.
  • A training plan will teach users how to use the new system and manage the changes caused by the new system.

Implementation - Support Plan

  • There will be a formal or informal post-implementation review and identifying major and minor changes needed for the system.

Systems Development Methodologies

  • A methodology is a formalized approach to implementing the SDLC, is a list of steps and deliverables.
  • There are many different systems development methodologies.
  • Each methodology is unique, based on the order and focus it places on each SDLC phase.
  • A process-centered methodology emphasizes process models as the core of the system concept.
  • Data-centered methodologies emphasize data models as the core of the system concept.
  • Object-oriented methodologies attempt to balance the focus between process and data by incorporating both into one model.
  • Another important factor in categorizing methodologies is the sequencing of the SDLC phases and the amount of time and effort devoted to each.
  • Three different classes of system development methodologies will be discussed: structured design, rapid application development and agile development.

Structured Design

  • Structured design falls under waterfall development.

Structured Design - Waterfall Development

  • The key advantage of the structured design waterfall approach is it identifies system requirements long before programming and minimizes changes to the requirements as the project proceeds.
  • The key disadvantages are that the design must be completely specified before programming begins and that a long time elapses between system proposal completion in the analysis phase and system delivery.
  • This can take many months or years.

Structured Design - Parallel Development

  • The primary advantage of this parallel development methodology is it can reduce system delivery time.
  • There is less chance of changes in the business environment causing rework.
  • Sometimes the subprojects are not completely independent which can be a disadvantage.
  • In parallel development, design decisions made in one subproject can affect another.
  • The end of the project can require significant integration efforts.

Rapid Application Development (RAD)

  • RAD-based methodologies attempt to address both weaknesses of structured design methodologies by adjusting the SDLC phases.
  • The aim is to get some part of the system developed quickly and into the hands of the users.
  • Recommendation to use special techniques and computer tools to speed up analysis, design, and implementation phases.
  • Suggested techniques and tools are computer-aided software engineering (CASE) tools, joint application design (JAD) sessions, fourth-generation or visual programming languages that simplify and speed up programming, and code generators that automatically produce programs from design specifications.
  • A possible problem with RAD-based methodologies is managing user expectations.
  • Due to the use of tools and techniques that improve speed and quality of systems development, user expectations of what is possible can change dramatically.
  • As users better understand IT, the systems requirements can expand.

Rapid Application Development (RAD) - Phased Development

  • Phased development breaks an overall system into a series of versions that are developed sequentially.
  • Phased development-based methodologies offer the advantage of quickly getting a useful system in the hands of users.
  • Users begin working with the system sooner, and are more likely to identify requirements sooner than with structured design.
  • The major drawback to phased development is that users begin to work with systems that are intentionally incomplete.

Rapid Application Development (RAD) - Prototyping

  • Prototyping performs the analysis, design, and implementation phases concurrently.
  • All three phases are performed repeatedly in a cycle until the system is completed.
  • A key advantage of prototyping is that it quickly provides a system with which the users can interact, even if it is not ready for widespread organizational use.
  • Prototyping assures the users that the project team is working on the system and helps to refine real requirements quickly.
  • The major problem with prototyping is that its fast-paced system releases make methodical analysis challenging.

Rapid Application Development (RAD) - Throwaway Prototyping

  • Throwaway prototyping-based methodologies are similar to prototyping-based methodologies in that they include the development of prototypes.
  • The prototypes are done at a different point in the SDLC and are used for a very different purpose than other methodologies.
  • This balances the benefits of well-thought-out analysis and design phases with using prototypes to refine issues before a system is built.
  • Delivery of the final system may take longer as compared to prototyping, but this usually produces more stable and reliable systems.

Agile Development

  • All agile development methodologies are based on the agile manifesto and a set of twelve principles.
  • Software is delivered early and continuously through the development process, satisfying the customer.
  • Changing requirements are embraced regardless of when in the development process.
  • Working software is delivered frequently to the customer.
  • Customers and developers work together to solve the business problem.
  • Motivated individuals create solutions and are provided with the tools and environment they need, and are trusted to deliver.
  • Face-to-face communication within the development team is most efficient and effective for gathering requirements.
  • The primary progress measure is working, executing software.
  • Both customers and developers should work at a sustainable pace where the work level could be maintained indefinitely without any worker burnout.
  • Simplicity and avoiding unnecessary work are essential.
  • Self-organizing teams develop the best architectures, requirements, and designs.
  • Development teams regularly reflect on how to improve their development processes.
  • Agile approaches should be considered in some circumstances.
  • Two popular examples of agile development methodologies are extreme programming (XP) and Scrum.
  • Business environment
  • Auditability
  • The methodology recommends against large mission-critical systems that aren't carefully managed.

Agile Development - Extreme Programming

  • XP is founded on four core values: communication, simplicity, feedback, and courage.
  • XP requires rapid feedback to end users continuously, following the KISS principle, incremental changes to make the system grow, embracing change, and a quality-first mentality.
  • Team members require development of additional skills, with continuous testing, simple coding done by pairs of developers, and close interactions with end users to build systems very quickly.
  • Testing and efficient coding are core to XP.
  • Code is tested each day and placed into an integrative testing environment where bugs will have their code backed out until completely free of errors.
  • XP should work fine for small projects with highly motivated, cohesive, stable, and experienced teams.
  • Success is doubtful if the project is not small or the teams aren't gelled.
  • XP requires discipline, otherwise projects become unfocused and chaotic.
  • XP is recommended only for small developer groups of under 10 members and not large applications.
  • User input is very important, with the commitment of many business units.

DevOps

  • Another category of systems development methodologies is DevOps.
  • It incorporates ideas from both object-oriented approaches to systems development and lean manufacturing into the agile approaches.
  • Two of the popular approaches are DAD and SAFe.
  • Operations personnel will be included as development team members.
  • Non-functional requirements, like security, can be addressed during the design of the system.
  • Deployment is completed when a new chunk of software has passed a set of relevant tests.
  • The new version is deployed in pieces over time; this is a rolling upgrade.

Custom Methodologies

  • Custom methodologies support applying agile and object-oriented ideas to system development methodology itself.
  • The goal is to support development with customization to the specific systems development project.
  • A high-level framework will be used to create the project-specific method.
  • Two of the approaches that have made progress in this area are Brian Henderson-Sellers' and of Ivar Jacobson's contributions.
  • Both allow the team to pick and choose components of a methodology from a component repository to create a custom methodology.
  • Care must be taken to ensure that each component is plug compatible by having compatible inputs and outputs.

Systems Analyst Roles and Skills

  • Project members are change agents to improve an organization, build an information system to support them, and train and motivate others to use the system.
  • This requires a wide range of technical, business, analytical, interpersonal, management, and ethical skills.
  • Small organizations expect one person to perform many roles, while most large organizations build project teams with defined responsibilities.
  • Positions include business analysts, system analysts, infrastructure analysts, change management analysts, and project managers.

Object-Oriented Systems Analysis & Design (OOSAD)

  • Object-oriented approaches to developing information systems can use any of the traditional methodologies.
  • Object-oriented approaches are most associated with a phased development RAD or agile methodology.
  • Attempts to balance the emphasis between process and data.
  • Any modern object-oriented approach to developing information systems must be use-case driven, architecture-centric, and iterative and incremental.

Object-Oriented Systems Analysis & Design (OOSAD) - Use-Case Driven

  • Use-case driven approaches means that use cases are defining behaviour of the system.
  • Describes how the user interacts with the system to perform activity.
  • Identifies and to communicate requirements.
  • Its simple.

Object-Oriented Systems Analysis & Design (OOSAD) - Architecture-Centric

  • Architecture-centric approaches means that the underlying software specification drives the specification, construction, and documentation of the system.
  • Analysis and design approaches should support at least three separate but interrelated architectural views of a system: functional, static, and dynamic.
  • The functional, or external, view describes the behaviour of the system from the user's perspective.
  • The structural, or static, view describes the system in terms of attributes, methods, classes, and relationships.
  • The behavioural, or dynamic, view describes the behaviour of the system in terms of messages passed among objects and state changes within an object.

Object-Oriented Systems Analysis & Design (OOSAD) - Iterative and Incremental

  • There is continuous testing and refinement throughout the life of the project.
  • The systems analysts develop their understanding of a user's problem by building up three architectural views little by little.
  • The systems analyst does this by working with the user to create a functional representation of the system under study.
  • Then, the analyst attempts to build a structural representation of the evolving system and distributes the system’s functionality to create a behavioural representation.

Object-Oriented Systems Analysis & Design (OOSAD) - Benefits of Object-Oriented Systems Analysis and Design

  • Can break complex systems into smaller, more manageable modules, working on the modules individually, and piecing them back together to form an information system.
  • Easier to grasp, easier to share among team members, and easier to communicate to users.
  • Creates reusable pieces.
  • Saves time.

Object-Oriented Systems Analysis & Design (OOSAD) - Factors Leading to Object-Orientation

  • Increasing abstraction
  • Event-driven programming
  • Spread of GUIs
  • Modular software
  • Lifecycle problems
  • Model transitions
  • Reusable software

The Unified Process

  • The Unified Process is a specific methodology that maps out when and how to use the various Unified Modelling Language UML techniques for object-oriented analysis and design.
  • The Unified Process is a two-dimensional systems development process described by phases and workflows.
  • Phases are inception, elaboration, construction, and transition.
  • Workflows include business modelling, requirements, analysis, design, implementation, test, deployment, configuration and change management, project management, and environment.

The Unified Modelling Language (UML)

  • Grady Booch, Ivar Jacobson, and James Rumbaugh created a standard set of diagramming techniques known as the Unified Modelling Language (UML).
  • The goal of UML was to provide a common vocabulary of object-oriented terms and diagramming techniques rich enough to model any systems development project from analysis through implementation.
  • UML Version 2.5 defines 15 diagramming techniques used to model a system with one category for structure and another for behaviour.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser