Chapter 1: The Systems Development Environment

CTS 285 Systems Analysis and Design
16 Aug 202007:28

Summary

TLDRThis chapter introduces the systems development process, emphasizing the importance of planning before coding begins. It outlines the Systems Development Life Cycle (SDLC), a traditional model with distinct phases: Planning, Analysis, Design, Implementation, and Maintenance. The SDLC is cyclical, transitioning from one system's end to the next's beginning. The chapter also mentions alternative methodologies like the Waterfall Model, Evolutionary models, Agile, eXtreme Programming, Scrum, Object-Oriented Analysis and Design, and Relational Unified Process. These cater to different project sizes and complexities, highlighting flexibility and iterative development.

Takeaways

  • 💡 Systems development involves extensive planning before coding or purchasing equipment.
  • 🔄 Methodologies like SDLC guide organizations through analyzing, designing, implementing, and maintaining systems.
  • 🔧 The SDLC model consists of distinct phases: Planning, Analysis, Design, Implementation, and Maintenance.
  • 🔁 SDLC is cyclical, with the end of one system's life leading to the planning of the next.
  • đŸ’» Examples like Windows 8 illustrate the SDLC process, including bug fixes and service packs during Maintenance.
  • 🔀 Some organizations may combine or add phases to the SDLC based on their specific needs.
  • 📈 The Planning phase identifies important projects and outlines the end result's capabilities.
  • 🔍 The Analysis phase details requirements, while the Design phase specifies hardware and software needs.
  • đŸ› ïž The Implementation phase is where the actual development work is done.
  • 🔧 The Maintenance phase addresses any issues or bugs that arise after implementation.
  • ⏳ The SDLC's rigidity can be problematic, especially when changes to requirements or timelines are necessary.
  • 🌀 Alternative methodologies like Evolutionary, Agile, and RUP offer flexibility and iterative approaches suitable for different project types.

Q & A

  • What is the primary focus of Chapter 1 in the context of systems development?

    -Chapter 1 provides an overview of the systems development process, highlighting the various methodologies and phases involved in creating software applications or systems.

  • What are the key phases in the Systems Development Life Cycle (SDLC)?

    -The SDLC consists of distinct phases: Planning, Analysis, Design, Implementation, and Maintenance, which are cyclical in nature and can vary in structure depending on the organization's needs.

  • Why is the SDLC sometimes referred to as the Waterfall Model?

    -The SDLC is sometimes called the Waterfall Model because it depicts a linear progression through the phases, where each phase flows into the next without returning to previous stages.

  • What is the purpose of the Planning phase in the SDLC?

    -The Planning phase involves determining the importance of projects to an organization, discussing problems to be solved, and developing a rough idea of the system's capabilities.

  • How does the Analysis phase differ from the Planning phase in the SDLC?

    -The Analysis phase delves deeper into the problems identified in the Planning phase and details the requirements needed to address those problems.

  • What is the role of the Design phase in the SDLC?

    -The Design phase outlines the specifications for hardware and software, and determines where resources can be procured to meet the requirements established in the previous phases.

  • What activities typically occur during the Implementation phase?

    -The Implementation phase is where the actual development work is carried out, based on the plans and designs created in the earlier phases.

  • Why might the Maintenance phase be considered the end of one system's life cycle and the beginning of another?

    -The Maintenance phase is when bugs are fixed and updates are made. However, if significant changes are needed or new technological developments occur, it may lead back to the Planning phase, indicating the start of a new system's life cycle.

  • What are some issues that can arise from the rigidity of the SDLC?

    -The rigidity of the SDLC can lead to problems such as difficulty in making changes to requirements during the Design phase, which can have a significant impact on the project's design and potentially the timeline and budget.

  • How do Evolutionary models differ from the traditional SDLC?

    -Evolutionary models, sometimes known as spiral models, involve constant iteration and do not have a fixed end goal by the Maintenance phase. They allow for features to be added or removed based on user feedback.

  • What is the primary goal of Agile methodologies in systems development?

    -Agile methodologies aim to complete projects as quickly as possible, with a focus on adaptability and heavy involvement from development teams and end users, especially when requirements are unpredictable.

  • How does the Relational Unified Process (RUP) compare to the SDLC?

    -The RUP follows a four-phase model: Inception, Elaboration, Construction, and Transition, which shares many characteristics with the SDLC but is often associated with object-oriented programming practices.

Outlines

00:00

🔍 Overview of Systems Development Methodologies

Chapter 1 introduces the systems development process, emphasizing that it involves more than just coding and testing. It highlights the importance of planning and methodologies that guide an organization through system analysis, design, implementation, and maintenance. The Systems Development Life Cycle (SDLC) is introduced as a cyclical model with distinct phases, which can be adapted or modified to suit organizational needs. The chapter also touches on the Waterfall Model and discusses the potential issues with rigid methodologies, such as the difficulty of making changes and the emphasis on meeting deadlines. The SDLC is recognized as useful for large projects with clear objectives, while other methodologies like evolutionary models are better suited for smaller or more flexible projects.

05:01

🔄 Iterative Models in Systems Development

Paragraph 2 delves into iterative development models like the spiral model, which allows for continuous feedback and feature adjustments based on user input. It mentions that many games are developed using this approach, with multiple cycles of beta testing and feedback collection. Agile methodologies are introduced as a way to quickly adapt to changing requirements and user needs, with eXtreme Programming and Scrum being popular examples. The paragraph also briefly mentions Object-Oriented Analysis and Design (OOAD) and the Relational Unified Process (RUP), noting their similarities to object-oriented programming and the SDLC. The summary emphasizes the importance of understanding different development methodologies and their applicability to various project sizes and complexities, with a focus on the waterfall methodology for the course.

Mindmap

Keywords

💡Systems Development Life Cycle (SDLC)

The SDLC is a traditional approach to systems development that follows a rigid, sequential process. It is defined by distinct phases: Planning, Analysis, Design, Implementation, and Maintenance. The video script uses the SDLC as a foundational concept to explain how systems are typically developed, with each phase building upon the previous one. The SDLC is cyclical, as the end of one system's life leads to the planning of the next, as illustrated by the evolution from Windows 8 to Windows 10.

💡Methodologies

Methodologies refer to the structured frameworks or approaches that organizations use to develop systems or software applications. The video script discusses various methodologies, emphasizing that each has its own utility depending on the project's context. Methodologies guide the process of analyzing, designing, implementing, and maintaining a system, with the SDLC being one of the oldest and most structured examples.

💡Waterfall Model

The Waterfall Model is another term for the SDLC, characterized by its linear progression through the development phases. The video script mentions that some organizations view the development process in a linear fashion, which contrasts with the cyclical nature of the SDLC. This model is indicative of a process where each phase must be completed before moving on to the next, without looping back.

💡Planning Phase

The Planning phase is the initial stage in the SDLC where organizations determine the importance of potential projects, discuss problems to be solved, and develop a preliminary vision of the system's capabilities. The video script highlights the Planning phase as a critical step where the direction and scope of the project are set, which influences all subsequent phases.

💡Analysis Phase

The Analysis phase follows the Planning phase, where a deeper dive into the project's problems and requirements takes place. The video script explains that during this phase, the detailed requirements of the system are fleshed out, which will guide the design and development efforts. This phase is crucial for understanding the system's needs before moving into the Design phase.

💡Design Phase

The Design phase of the SDLC is where the specifications for the system's hardware and software are determined, including decisions on what resources are needed and where they can be procured. The video script uses this phase to illustrate the transition from abstract requirements to concrete plans for system development, which is essential for the Implementation phase that follows.

💡Implementation Phase

The Implementation phase is the stage where the actual development work is carried out according to the plans laid out in the previous phases. The video script mentions that this is the phase where 'all the work gets done,' turning the design into a functioning system. It is a critical phase that brings the project to life.

💡Maintenance Phase

The Maintenance phase is the final phase in the SDLC, where any issues or bugs in the system are addressed, and updates are made as necessary. The video script describes this phase as a continuous process that can lead back to the Planning phase for the development of a new system, highlighting the cyclical nature of the SDLC.

💡Evolutionary Models

Evolutionary models, also known as spiral models, emphasize iterative development and flexibility. The video script contrasts these with the more rigid SDLC by explaining that they involve constant iteration and feedback loops, allowing for adjustments and improvements based on user feedback. This approach is particularly useful for projects with changing requirements or where user input is critical.

💡Agile Methodologies

Agile methodologies are iterative and flexible approaches to software development that aim to complete projects quickly and adaptively. The video script mentions eXtreme Programming and Scrum as popular agile methodologies. These methodologies are characterized by their focus on rapid development cycles, team collaboration, and customer involvement, which is essential for projects with unpredictable requirements.

💡Object-Oriented Analysis and Design (OOAD)

OOAD is a methodology that aligns with object-oriented programming principles, focusing on the use of objects, methods, and inheritance. The video script briefly touches on OOAD as a methodology that shares commonalities with the SDLC but is specifically tailored for projects that involve object-oriented programming concepts.

💡Relational Unified Process (RUP)

RUP is a four-phase iterative software development process that includes Inception, Elaboration, Construction, and Transition phases. The video script notes that RUP, while having its own structure, shares characteristics with the SDLC, particularly in how it guides the development process through distinct but interconnected stages.

Highlights

Overview of the systems development process, including coding, testing, and planning.

Introduction to methodologies for analyzing, designing, implementing, and maintaining a system.

Definition and explanation of the Systems Development Life Cycle (SDLC) with its distinct phases.

Description of the cyclical nature of SDLC, using Windows 8 as an example.

Variability in SDLC phases and their naming across different organizations.

Explanation of the Waterfall Model as a linear interpretation of the SDLC.

Details of the Planning phase, focusing on project importance and problem-solving.

Deep dive into the Analysis phase, detailing requirements and problem specifics.

Design phase overview, including hardware and software specifications.

Implementation phase description, where the actual work of the project is executed.

Maintenance phase explanation, focusing on bug fixes and system updates.

Challenges with the rigidity of the SDLC model and its origins in the 1960s.

Impact of requirements changes on the design and overall project during the SDLC.

Emphasis on meeting deadlines and the potential effects on project budget and quality.

Applicability of the SDLC for large projects with multiple sub-development efforts.

Introduction to Evolutionary models and their iterative nature, with a focus on user feedback.

Agile methodologies, their focus on quick project completion, and heavy involvement from development and end users.

Overview of eXtreme Programming and Scrum as popular agile methodologies.

Description of Object-Oriented Analysis and Design and Relational Unified Process methodologies.

Summary of the importance of understanding development methodologies and their application in different project sizes and contexts.

Transcripts

play00:00

Chapter 1 gives us an overview of the systems development process. You probably haven’t

play00:05

thought much about how systems or software applications are put together or developed.

play00:09

You’re probably aware that there’s some coding involved, as well as some internal

play00:13

or alpha testing, and there may be some beta testing as well. But that’s just part of

play00:18

the whole picture behind systems development. There is a lot of planning involved before

play00:23

any code is written or any networking equipment is purchased.

play00:27

When we talk about methodologies, we’re talking about ways that an organization goes

play00:32

through this process of analyzing, designing, implementing, and maintaining a system. There

play00:38

are several methodologies out there today, and each one has its usefulness depending

play00:42

on the situation. The oldest model is the Systems Development Life Cycle, or SDLC. This

play00:49

is distinguished by its distinct and discrete phases consisting of Planning, Analysis, Design,

play00:57

Implementation, and Maintenance phases. It’s cyclical in nature, in that the end of the

play01:03

useful life of one system leads to the start of the next. If we were to look at Windows,

play01:09

for example, we can see how this works out. Windows 8 went through a process like this

play01:14

as it was being prepared for the public, and once it hit the shelves, the development team

play01:19

fixed bugs and released service packs, and eventually Windows 8.1, which is all part

play01:24

of the Maintenance phase. At some point, a decision was made to come up with something

play01:29

completely new, because there were too many bugs to fix, or because there were new technological

play01:35

developments, or whatever the reason may be, moving us from the Maintenance phase back

play01:40

to the Planning phase to start a new product, which eventually became Windows 10.

play01:47

The SDLC isn’t always a five-phase process. Some organizations might combine phases, and

play01:53

others might add one or two, depending on their needs. The names of the phases might

play01:58

not even be the same from organization to organization, but the ideas behind them are

play02:03

the same. If you understand the general flow behind projects that follow the SDLC, you’ll

play02:09

be fine. In some places, you might find the SDLC referred

play02:14

to as the Waterfall Model. Some organizations think of the process in a linear fashion rather

play02:20

than a circular one. The concepts behind the different phases are the same in either case.

play02:26

The Planning phase involves figuring out what projects are important to an organization,

play02:31

discussing the problems to be solved, and developing a rough idea of what the end result

play02:36

will be able to do. The Analysis phase dives deeper into problem and starts to detail what

play02:42

the requirements will be. The Design phase lays out what will be needed to make this

play02:48

happen in terms of the specifications of the hardware and software, and where everything

play02:52

can be procured. The Implementation phase is where all the work gets done, and the Maintenance

play02:59

phase is where any problems or bugs are fixed. We’ll get more specific with what each phase

play03:05

does in future chapters, but for now get a grasp on the general ideas behind each of

play03:10

the phases. The methodology can get problematic if you

play03:15

follow it the way it was designed. This model was developed back in the early 1960s as a

play03:21

means of controlling government projects, and the intention was to make sure that at

play03:25

each phase, there were clear objectives or milestones to meet and a way to get out of

play03:30

the project if things weren’t going as planned. This rigidity can lead to issues. For example,

play03:37

if you’re on the Design phase, you should already know what the design requirements

play03:41

are so that you can start coming up with a plan to meet those requirements. You should

play03:46

know that your system will need to be accessible on mobile devices and take both biometric

play03:51

authentication as well as your typical username and password combinations. These requirements

play03:57

originate in the Planning phase but are typically fleshed out in the Analysis phase. If someone

play04:02

wanted to make changes to those requirements, that could possibly have a huge impact on

play04:06

the design aspects, so generally speaking changes need to go through a vetting process

play04:11

before they’re accepted as part of the requirements. There’s also a heavy emphasis on meeting

play04:17

deadlines. We’ll see in future chapters that changes to the timeline also may affect

play04:23

the budget and the scope of the project, which in turn could affect the overall quality of

play04:28

the project. All this doesn’t make the SDLC obsolete.

play04:34

This methodology can be useful if you have large projects with many different sub-development

play04:38

efforts, or it can be useful if you have a specific idea of what the end result is supposed

play04:43

to do or look like. For smaller projects, there are other options.

play04:49

Evolutionary models are sometimes known as spiral models because of the constant iteration

play04:54

involved. Evolutionary models sometimes use the same phases in the SDLC, but the key difference

play05:01

is that there isn’t really a specific end goal to meet by the time you get to the Maintenance

play05:05

phase. At that point, you can decide to add or remove features based on user feedback.

play05:12

Many games are developed using this concept. A company may put out a beta version, get

play05:17

feedback, rerelease, get more feedback, and then go wide release. This model gives the

play05:23

team a lot of flexibility in terms of getting just the right features in place while creating

play05:28

different prototypes to analyze their work, but the more cycles you have, the longer a

play05:33

project goes and the more you spend on that project.

play05:39

Agile methodologies also follow iterative methodologies, and these models aim to have

play05:43

a project completed as quickly as possible. Like the spiral model, agile methodologies

play05:49

can be used for projects where requirements are unpredictable, and you need to have heavy

play05:54

involvement from your development team as well as the end users or customers. Agile

play06:00

methods are more for software development, versus systems development which may include

play06:05

new hardware infrastructure in addition to software applications. Two of the more popular

play06:10

agile methodologies are eXtreme Programming and Scrum.

play06:16

Two other methodologies are Object-Oriented Analysis and Design and Relational Unified

play06:21

Process. Both share commonalities with object-oriented programming, where you deal with objects,

play06:27

methods, and inheritance. RUP follows a four-phase model: Inception, Elaboration, Construction,

play06:35

and Transition, which, when you break down what happens in each phase, has a lot of the

play06:40

same characteristics as the SDLC. In summary, be familiar with what a development

play06:47

methodology is and the general steps that the SDLC follows. Also know that there are

play06:53

different models that organizations use, including spiral, XP, Scrum, OOAD, and RUP. You don’t

play07:01

need to know all the details behind the different phases and the teams involved, but you should

play07:05

know some general characteristics such as their use in large or small projects or their

play07:10

iterative natures. This course will focus on the waterfall methodology for the most

play07:15

part, but the concepts should translate into the other models should you encounter those

play07:19

in the future.

Rate This
★
★
★
★
★

5.0 / 5 (0 votes)

Ähnliche Tags
Systems DevelopmentSDLC MethodologyWaterfall ModelProject PlanningSoftware DesignMaintenance PhaseAgile MethodologieseXtreme ProgrammingScrum FrameworkObject-OrientedDevelopment Lifecycle
Benötigen Sie eine Zusammenfassung auf Englisch?