Roch, S., Fowler, J., Smith, B. & Bourgeois, D. (2022). Information Systems for Business and Beyond. Chapter 7: Systems development. Flashcards
(Roch, S. Chapter 7: Systems development)
What is Systems Development?
System development could be seen as the simple process fo writing programs to solve the needs of users. However, in reality this process is not that simple. End users ma know whta they want, but lack the technical expertise to bring the idea to life. Also, programmers may understand the computer, but not the user environment. Thus communication gap between the user and the service provider must be addressed. Using a systems development methodology can help mitigate these challenges and support development success. Pressure for rapid development and future maintainability of systems has resulted in a number of alternative approaches to systems development, ranging from development by end-users, to the incorporation of formal methods to improve the quality and efficiency of the development process.
(Roch, S. Chapter 7: Systems development)
What is System Development Life Cycle (SDLC)?
This approach to software development is structured and risk averse, designed to manage large projects that include multiple programmers and systems. It requires a clear, upfront understanding of what the software is supposed to do and is not amenable to design changes.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 1. What happens in Preliminary Analysis Phase ?
- Preliminary AnalysisA request for a replacement or new system is first reviewed. The review includes questions such as: What is the problem-to-be-solved? Etc. This proves is referred to as a needs analysis.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 2. What happens in System Analysis Phase ?
- System Analysis
In this phase one or more system analysts work with different stakeholder groups to determine the specific requirements for the new system. No programming is done in this step. –> Procedures are documented, key players7users are interviewed, and data requirements are developed in order to get an overall impression of exactly what the system is supposed to do.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 3. What happens in System Design Phase ?
- System Design
A designer takes the system requirements document created in the previous phase and develops the specific technical details required for the system. Business requirements are translated into specific technical requirements. The result is a system design document. This has everything a programmer needs to actually create the system.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 4. What happens in Programming Phase ?
- Programming
The. Ode finally gets written in the programming phase. Using the system design document as a guide, programmers develop the software.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 5. What happens in Testing Phase ?
- Testing
In the testing phase, the software program developed in the programming phase is put through a series of structured tests. First unit test (individual parts of code) and then system test (different components of the system) and lastly the user acceptance test.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 6. What happens in Implementation Phase ?
- Implementation
Once the new system is developed and tested, it has to be implemented in the organization. This phase includes training the users, providing documentation, and data conversion from the previous system to the new system.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): 7. What happens in Maintenance Phase ?
- Maintenance
In this phase the system has a structured support proved in place. Reported bugs are fixed and system updates and backups are made.
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): Facts about it?
The SDLC methodology is sometimes referred to as the waterfall methodology to represent how each step is a separate part of the process. Only when one step is completed can another step begin. After each step an organization must decide when to move to the next step.
Rigid/inflexible
Allowing movement in only one direction (forward)
Changes to the requirements are not allowed once the process has begun
Big projects
(Roch, S. Chapter 7: Systems development)
System Development Life Cycle (SDLC): Facts about it?
The SDLC methodology is sometimes referred to as the waterfall methodology to represent how each step is a separate part of the process. Only when one step is completed can another step begin. After each step an organization must decide when to move to the next step.
Rigid/inflexible
Allowing movement in only one direction (forward)
Changes to the requirements are not allowed once the process has begun
Big projects
(Roch, S. Chapter 7: Systems development)
What is Rapid Application Development (RAD)?
RAD focuses on quickly building a working model of the software, getting feedback from users, and then using that feedback to update the working model. After several iterations of development, a final version is developed and implemented.
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what happens in Requirements planning phase?
´
- Requirements planning
Similar to the preliminary analyses, system analysis, and design phases of SDLC.
Overall requirements for the system are defined, a team is identified, and feasibility is determined
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what happens in User design phase?
- User design
In the user design phase representatives of the userts wotk with the system analysts, designers, and programmers to interactively create the design of the system. Sometimes a Joint Application Development (JAD) session is used to facilitate working with all of these various stakeholders. A JAD session brings all of the stakeholders for a structured discussion about the design of the system together.
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what happens in Construction phase?
- Construction
Application developers, working with the users, build the next version of the system through an interactive process. This step is executed in paralleled with the user design step in an iterative fashion, making modifications until an acceptable version of the product is developed.
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what happens in Construction phase?
- Construction
Application developers, working with the users, build the next version of the system through an interactive process. This step is executed in paralleled with the user design step in an iterative fashion, making modifications until an acceptable version of the product is developed.
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what happens in Cutover phase?
- Cutover
This involves switching from the old system to the new software. Timing of the cutover phase is crucial and is usually done when there is low activity. Approaches to the migration from the old system to the new system differ: Hard cut/incremental cutover/one part at a time.
(Roch, S. Chapter 7: Systems development)
Rapid Application Development (RAD): what is RAD methodology ?
RAD methodology
Focus on user participation and iteration
Much better for smaller projects and projects that need to be developed quickly
Less resource intensive than SDLC
(Roch, S. Chapter 7: Systems development)
What are Agile Methodologies?
Agile Methodologies
Methodologies that utilize incremental changes with a focus on quality and attention to detail. Each increment is released in a specific period of time, creating a regular release schedule with very specific objectives. While considered a separate methodology from RAD, the two methodologies share some of the same principles such as iterative development, user interaction, and flexibility to changes.
The diagram above above emphasizes iterations in the center of agile development. You should notive how the building blocks of the developing system move from left to right, a block at a time, not the entire project! Blocks that are not acceptable are returned through feedback and the developers make the needed modifications. The daily review at the top of the diagram implies constant evaluation by both developers and customers (collaboration) of each day’s work.
Small cross-functional. Teams that include developments team members and users
Daily status meetings to discuss the current state of the project
Short time-frame increments for each change to be completed