C05 Flashcards
(44 cards)
System development:
Writing programs to fulfill the needs of users.
For the development of systems to be successful, there needs to be:
- Well-defined system objectives.
- Careful test of feasibility.
- Support from top management.
- User involvement so that there is a strong commitment.
- Rigorous analysis to answer the user requirements are met.
- A good design that ensures an efficient, quality and maintainable system.
- Project management so that the team is managed and controlled.
Systems Development Life Cycle (SDLC):
A process to build software applications that goes step by step. It is structured, rigid, not open to design changes, and designed for large projects.
Systems Development Life Cycle: Phase 1:
Preliminary Analysis: Evaluating if the request is possible and needed, if there are alternatives. Then, a feasibility study is launched:
Needs analysis: If a request for a new system is needed.
Systems Development Life Cycle: Phase 2:
System Analysis: Specific requirements with different stakeholders are determined. The Systems Analyst (person) documents the system requirements.
Systems Development Life Cycle: Phase 3:
System Design: The specific technical requirements are determined: the user interface, database, data inputs and outputs, reporting = system design (created by Systems Analysis, Developer or Systems Architect) document (has everyone a programmer needs to create the system).
Systems Development Life Cycle: Phase 4:
Programming: Software is developed using programming, coding = the first working program done by a Developer, Software Engineer or Coder.
Systems Development Life Cycle: Phase 5:
Testing: Series of structured tests. First, unit test to test for bugs (code errors). Second, system test, testing every element in the system to make sure it works properly. All erors are resolved, and the system is tested again. Done by Tester, Testing Analyst, or Quality Assurance.
Systems Development Life Cycle: Phase 6:
Implementation: Implemented in the organization. Training users, providing documentation, and converting data from the old system to the new system.
Systems Development Life Cycle: Phase 7:
- Maintenance: Bugs are fixed and new features evaluate and implemented. System updates and backups of the software when new versions of the program are developed.
Waterfall methodology:
Another name for the SDLC because only once one step is done can the next one begin.
Rapid Application Development (RAD):
Focuses on quickly building a working model of the software, gets feedback from users, and uses it to update the working model.
Rapid Application Development (RAD): Phase 1:
Requirements planning: Overall requirements for the system is determined, a team is created and possibility (feasibility) is determined.
Rapid Application Development (RAD): Phase 2:
- User design: Analysts, designers and programmers create design of the system together.
Rapid Application Development (RAD): Phase 2: Joint Application Development (JAD):
A structured discussion about the design of a system that brings all the stakeholders together.
- Sometimes it is used.
Rapid Application Development (RAD): Phase 3:
- Construction: Users and developers work together to create the next version of the system. Modifications are made until an acceptable version of the product is created.
Rapid Application Development (RAD): Phase 4:
- Cutover: Going for the old system to the new system. Each company has different implementation strategies.
Traditional Project Management (TPM):
A method of developing projects that is structured.
Agile Project Management (APM)
After every “short sprint” = getting feedback = then more development.
Requires users to be involved.
A flexible, iterative, and adaptive approach to managing projects. It emphasizes continuous improvement, flexibility, and rapid delivery.
Lean methodology:
The goal of lean methodology is to optimize and streamline processes, reduce waste, and increase efficiency, quality, and customer value.
Rapid Application Development (RAD):
The goal of RAD is to deliver a working product as soon as possible, with the idea that the users can then give feedback on the product, and the development team can make adjustments and improvements based on that feedback.
Economic feasibility:
Does it make financial sense? Can we afford it?
Technical feasibility:
Do we have enough hardware, software and personnel resources to support and develop the system?
Operational feasibility:
Will it be accepted in the organization by management, and staff?