Comprehensive Report of the Waterfall Model PDF
Document Details
Uploaded by ResponsiveTranscendental
Pamantasan ng Cabuyao
2024
Capulong, Jhep R.Cervantes, Andrei Jezz V.Claros, Juan Carlos T.Dabu, Jarome A.Dichoso, Reichel Anne B.Diongco, Anna Loraine L.
Tags
Summary
This is a report on the Waterfall Model, a sequential software development method. It outlines the six phases: requirements analysis, systems design, implementation, integration, testing and deployment, focusing on the history, characteristics, key features, and phases. The report is submitted to the faculty of Engineering at the University of Cabuyao, Philippines.
Full Transcript
Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 COMPREHENSIVE REPORT OF THE WATERFALL MODEL In partial fulfillment of the requi...
Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 COMPREHENSIVE REPORT OF THE WATERFALL MODEL In partial fulfillment of the requirements for the course IEP115: Information Systems For the Degree of Bachelor of Science in Industrial Engineering Presented to the faculty of Engineering COLLEGE OF ENGINEERING UNIVERSITY OF CABUYAO (PnC) Katapatan Homes Subdivision Banay-Banay, City of Cabuyao, Laguna 4025 Submitted by: Capulong, Jhep R. Cervantes, Andrei Jezz V. Claros, Juan Carlos T. Dabu, Jarome A. Dichoso, Reichel Anne B. Diongco, Anna Loraine L. Submitted to: Engr. Jeric J. Veras October 2024 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 INTRODUCTION The waterfall model follows a highly linear and sequential method for software development, ensuring that each phase is finished before progressing to the next. This approach prohibits going back to a previous stage without restarting the entire project. The waterfall model is particularly suitable for projects with clearly defined requirements and minimal anticipated changes during development. The waterfall model is utilized in the realm of information technology for large, intricate projects and follows a structured, sequential approach for project management and software development. Moreover, this model is beneficial when the project requirements are clearly defined, and the project objectives are well understood. It is commonly applied to large-scale projects with extended timelines, where there is minimal margin for error, and the project stakeholders require a high level of certainty in the result. 1.1 History and Origins The waterfall methodology is considered the oldest project management process in existence. While similar methods have been used in construction and manufacturing, it wasn't formally recognized until Dr. Winston Royce introduced the concept. In 1970, he developed the waterfall management approach to oversee the development of large software projects. Although it wasn't initially referred to as 'waterfall,' Dr. Royce's design eventually became known as the waterfall model. Its step- by-step approach quickly gained support from managers, establishing it as the most widely used management Figure 1. Dr. Winston Royce methodology. Since then, waterfall project management has remained a popular choice, particularly for software development projects and other fields that follow a relatively sequential process. The name "waterfall model" derives from its resemblance to a waterfall's path. Similar to how water moves in a single direction, your processes will proceed from one stage to the next. Just as water can't turn back and return to a point it has already passed, this approach doesn't permit revisiting previous stages. The sole option for doing so is to restart from the initial phase. 1.2 Key Characteristics The Waterfall Model is typically employed for highly structured and systematic software development projects. Its aim is to guarantee the timely, budget-friendly, and high-quality Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 completion of complex projects. Below are some key features of the Waterfall Model that you should consider: a. Sequential Approach. The Waterfall Model follows a sequential approach, where software is developed one step at a time, and each part of the project is completed before moving on to the next step. b. Document-Driven Method. The Waterfall Model relies heavily on documentation to ensure that the project is clearly defined and that the project team is working towards specific objectives. c. Quality Control. Ensuring testing and quality control at each stage of the project is crucial in the Waterfall Model to guarantee that the final product fulfills the requirements and expectations of all stakeholders. d. Carefully Planning. The planning process of the Waterfall Model is highly meticulous. Throughout this process, the project's objectives, schedules, and deliverables are thoroughly defined and monitored throughout its complete lifecycle. PHASES OF THE WATERFALL MODEL The Waterfall model consists of a series of sequential phases that guide the development process. Each phase must be completed before moving to the next, following a structured approach from project requirements to deployment and maintenance. This section provides a detailed background of each phase, outlining their significance in ensuring a systematic and organized workflow throughout the development cycle. Figure 2. Six Phases of Waterfall Model Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 2.1 Requirements Analysis This is the first of the waterfall model phases, where the client has to provide the requirements for the software system. Usually, one or more technical people will have meetings with the client to define the requirements and understand what they want the system to do. This may be a lengthy process, where the project team is most likely to spend a lot of time, especially when the system is big and covers various business areas. The output of this process will be one or more documents stating all the requirements in a lot of detail. It is important that the requirements are correct, as it forms the basis for everything that will be done in all the following phases of the project. When using the waterfall model, it is not possible to come back to the requirements and change them at a later stage, therefore this step is very important. 2.2 Systems Design Some sources call it the design phase, while others call it analysis and design. The software requirements that were obtained from the clients are analyzed to see how they can be turned into a computer system and then the design is done. In this phase of development, several things are considered. These include the inputs and outputs of data, how the rules can be implemented, which computer languages to use, and what hardware will be the best. Many technical things have to be considered, and a lot of them are specific to the kind of system that is being created. Specialized analysts and designers are used for this work, and again, there are one or more documents that contain the analysis and design of the system. The design documents are used as the blueprint for the coding in the next phase. The system design is prepared which specifies hardware and system requirements, such as data layers, programming languages, network infrastructure, user interface etc. It helps define the overall system architecture, which is further divided into: a. High-level design phase. This is the first stage of system design and architecture. It includes a list and functionality of modules, correlation between these modules, architecture diagrams, and database tables. This phase ends with the creation of a High- level Design document. b. Low-level design phase. This involves designing actual software components. The High-level Design created in the previous phase is disintegrated into separate modules. The Low-level Design document describes each module (pseudo-code), which enables the programmer to code directly from the document. It also contains interface details, error-message listings, dependency issues, inputs and outputs for each module. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 2.3 Implementation Once complete requirements were in place, it the time came for to implement a whole point of carrying out programming arranging and building up software product within well-defined norms. Software organizations initiate coding and product design during this phase, which includes the implementation of all pre-conditions and post-conditions associated with the project, such as developing complete functionalities consistent with the verified requirements of senior team members and all project stakeholders. 2.4 Integration and Testing In this phase of the software development life cycle, we establish testing strategies to assess various modules. We verify that each module operates in accordance with the established standards or meets the requirements outlined in the initial phase of the SDLC [7,8]. Software Testing Levels: a. Unit testing. Evaluates individual units or modules in isolation to ensure their functionality aligns with specified requirements. It assesses the smallest testable segments of software, such as constructors or destructors in object-oriented contexts, and various types include control-flow and data flow testing, usually conducted by developers. b. Integration testing. Examines the interaction between two or more interconnected units to ensure a smooth flow of control and data, checking the design and integration of these units for consistency. Types of integration testing include user interface testing, use-case testing, interaction testing, and big bang testing, where all modules are evaluated simultaneously. c. System testing. It is most important process of testing where a completely integrated software is tested for its compliance with the specific requirement. This refers to both functional and non-functional testing, which comprises the mechanism of validating the software across various dimensions such as performance, reliability, usability, security etc. d. Acceptance testing. Validates the software against customer requirements, confirming its performance and acceptability. o User Acceptance Testing (UAT, or things get uglier), which is comprises into two types of testing: o Alpha testing. Where the development team and some users do tests with fictitious information. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 o Beta testing. When real users start to use the software with real data in order to determine if there are errors attentively. 2.5 Deployment Upon the successful completion of testing, the product is formally prepared for deployment. Consequently, the product is released in stages according to the organization's deployment plans. Additionally, product deployment may sometimes depend on customer feedback. 2.6 Maintenance This activity involves modifying the software to align with customer needs and emerging market trends. Such modifications enhance the system to comply with current technological standards and effectively satisfy customer requirements. Core Phases: a. Feasibility. The primary goal of this phase is to evaluate whether creating the software is not only practical from a technical standpoint but that doing so makes financial sense. ADVANTAGES AND DISADVANTAGES OF WATERFALL MODEL Waterfall relies on teams following a sequence of steps and never moving forward until the previous phase has been completed. If your team is small and your projects are predictable, then Waterfall could provide the ideal framework. Waterfall sits comfortably among Agile, Scrum, Six Sigma, and Kanban. This section highlights both the advantages and disadvantages of the Waterfall model. It explains the strengths of its structured approach while also addressing the model’s limitations. 3.1 Advantages of the Waterfall Model Waterfall relies on teams following a sequence of steps and never moving forward until the previous phase has been completed. This structure is suited to smaller projects with deliverables that are easy to define from the start. a. Clear Structure. Teams complete each phase before moving to the next, ensuring issues are addressed early and projects remain on track. The process is straightforward and doesn't require special training. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 b. Defined End Goal. The final product or goal is established at the beginning, keeping the team focused and reducing the risk of getting sidetracked, making it ideal for small projects with clear objectives. c. Individual Processing. Each phase is processed one at a time, ensuring that teams complete one stage before moving to the next. This approach minimizes confusion and helps maintain focus. d. Transfers information well. Waterfall emphasizes thorough documentation at each phase, ensuring smooth handovers and easy onboarding for new team members, maintaining project clarity throughout. e. Clear Milestones. The model features well-understood milestones for tracking progress. These milestones provide clear indicators of project advancement and completion. f. Reinforces Good Habits. The model reinforces good practices like planning before designing and designing before coding. Such practices help ensure a more organized and efficient development process. g. Ideal for Small Projects. The Classical Waterfall Model works best for smaller projects with well-understood requirements. Its structured approach is particularly effective when project goals are stable. 3.2 Disadvantages of the Waterfall Model Waterfall is a respected methodology, but lately it’s faced criticism for being an outdated model. The limitations of the Waterfall approach become more apparent depending on the size, type, and goals of the project it’s guiding. Rather than adapting your organization to Waterfall’s guidelines later, consider these limitations to assess whether Waterfall is truly a fit for your team. a. Makes changes difficult. Waterfall’s rigid step-by-step approach makes it hard to adapt if unexpected changes arise. Altering the project later can invalidate much of the earlier work, disrupting timelines. b. Limited Client Involvement. Waterfall focuses on internal processes, with little input from clients during development. This can cause issues if clients want to make changes, as they are not actively involved throughout the project. c. Delays testing until after completion. Testing occurs late in the process, increasing the risk of discovering major issues after much of the work is complete, which can lead to costly delays and revisions. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 d. No Feedback Path. The model assumes no errors occur during development and lacks mechanisms for error correction, limiting adaptability. e. Difficult to Accommodate Change Requests. It relies on fully defining customer requirements at the start, making it challenging to incorporate changes after the requirements phase. f. Limited Flexibility. The rigid, linear structure is unsuitable for projects with changing requirements, making it hard to revisit previous phases. g. Lengthy Development Cycle. The sequential nature of the model can lead to prolonged development timelines, causing delays and increased costs if requirements change. WATERFALL MODEL: USAGE, COMPARISON, AND APPLICATIONS This section explores the usage, comparison, and practical applications of the Waterfall model. It outlines when the model is most suitable, contrasts it with other development approaches, and highlights real-world scenarios where the Waterfall model has been effectively implemented. 4.1 When to Use the Waterfall Model The Waterfall model is a traditional software development methodology characterized by its linear and sequential approach. It is most suitable in scenarios where the project requirements are well-defined, stable, and unlikely to change throughout the development process. The following conditions typically favor the use of the Waterfall model: a. Fixed Requirements. Ideal for projects with clear and unchanging requirements, such as government or construction projects where specifications are rigidly defined. b. Short-Term Projects. Works well for projects with a limited timeline where all phases can be completed in a predictable manner. c. Stable Technology. Best suited for environments where the technology is well understood and not subject to rapid changes. d. Minimal Client Involvement. Effective when client feedback is primarily required during the initial stages, with little need for ongoing input throughout development. e. Documentation Requirements. Beneficial in contexts that demand extensive documentation, as each phase produces specific outputs that are well documented. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 4.2 Comparison with Other Models The Waterfall model is often compared with several other software development methodologies, notably the V-Model, Agile, and Spiral models. Each of these models has its strengths and weaknesses depending on project needs [13, 14]. Table 1. Comparison of Software Development Models Parameters Waterfall Model V-Model Agile Spiral V-shaped (Verification & Approach Linear & Sequential Validation) Iterative & Incremental Cyclic Rigid but allows Moderate Flexibility Rigid backtracking Highly flexible flexibility Moderate (feedback User Moderate (testing High (continuous after each Involvement Low (initial only) at each stage) feedback) iteration) After each Testing Phase At the end At each stage Continuous iteration Can be high Higher due to due to testing at every Variable based on iterative Cost Generally lower stage iterations nature Complex Projects requiring projects with Small projects with Projects needing adaptability and high risk Best For fixed requirements rigorous testing frequent changes Key Comparisons: a. Waterfall vs. V-Model. While both models follow a linear approach, the V-Model integrates testing into each phase of development rather than relegating it to the end. This makes V-Model more adaptable when requirements might evolve during the project b. Waterfall vs. Agile. Agile methodologies embrace change and allow for continuous user feedback throughout development cycles. This contrasts sharply with Waterfall's rigid structure, making Agile more suitable for projects where requirements are expected to change frequently. c. Waterfall vs. Spiral. The Spiral model combines elements of both iterative and linear approaches, focusing on risk assessment at each iteration. This makes it suitable for complex projects where risks need careful management, unlike Waterfall's straightforward but inflexible structure Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 4.3 Applications of the Waterfall Model The case study titled "A Web-Based Mobile Archival System Using Waterfall Model Approach" outlines the application of the waterfall model in developing a mobile archival system. In this case study, the waterfall model was employed a system which aimed to facilitate efficient data storage and retrieval for users. Similarly, second study titled "Developing Digital Research Portal for Bukidnon State University's Scholarly Work," employed the waterfall model to systematically design and develop a digital research portal, ensuring that all requirements were clearly defined and met at each phase of development. The waterfall model is indeed widely used across various studies and industries due to its structured and sequential approach. Its clear phase delineation makes it particularly suitable for projects where requirements are well understood from the outset. This methodology continues to find applications in diverse fields, demonstrating its enduring relevance in project management practices. Here are some notable applications: a. Manufacturing Companies. The Waterfall model is utilized for managing production processes efficiently. For instance, an electronics manufacturer may require assemblers to complete their tasks before moving on to packaging, thereby ensuring a smooth workflow through clearly defined stages. b. Construction Companies. In the construction industry, the Waterfall model is beneficial due to its structured nature. Tasks such as painting can only commence after the completion of foundational work like building and plastering walls, which aligns well with the sequential flow of the Waterfall methodology. c. Software Development. This model is often employed in large-scale software development projects where a structured approach is necessary to meet deadlines and budget constraints. The clear phases help organize various workstreams effectively, allowing teams to focus on specific deliverables at each stage. d. Government Projects. Many government and defense initiatives adopt the Waterfall model due to its rigid structure, which helps ensure that all requirements are met within specified timelines. This is crucial in projects that demand high accountability and precision. e. Healthcare Projects. Particularly in pharmaceuticals, the Waterfall model aligns with the scientific method's orderly nature. For example, drug development follows a systematic process where researchers establish hypotheses and adhere to strict protocols, revisiting earlier phases as necessary based on findings. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 CONCLUSION 5.1 Summary of the Key Points The Waterfall model is a software development methodology that is linear and sequential. Its software development projects are divided into six (6) phases such as requirements analysis, system design, implementation, testing, deployment, and maintenance. It is a common practice to finish one stage of development before moving onto the next. This makes the process very document oriented, and clearly sets out objectives at each level. It is a suitable strategy for use in projects where the requirements are stable and there are no or minimal anticipated modifications during code development. Even though it is very useful especially when it comes to planning and being full in control to move, there’s a limitation in the Waterfall model where it comes to changes even when a project is in progress. 5.2 Situations Best Suited for the Waterfall Model The Waterfall model is especially appropriate in projects where the requirements are well understood from the beginning, and there are no chances of alterations. This applies to sectors such as construction, government, and manufacturing which follow a linear sequence of operations. In addition, it is also applicable to projects which require consider time management, have entrenched technology, and require little engagement from the client after the initial requirements stage. In such cases, the inflexible nature of the model, detailed record keeping, and precise targets serve as an assurance of successful project execution. Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 REFERENCES A. Talreja, “SDLC Waterfall model: A Comprehensive guide,” Apr. 18, 2023. https://teachingagile.com/sdlc/models/waterfall GeeksforGeeks, “Waterfall Model Software Engineering,” GeeksforGeeks, Jul. 12, 2024. https://www.geeksforgeeks.org/waterfall-model/ M. Abraham, “Waterfall Methodology – Ultimate Guide,” Management.Org, Mar. 02, 2023. https://management.org/waterfall-methodology “A comprehensive guide of waterfall model in software engineering | Relia Software,” May 24, 2024. https://reliasoftware.com/blog/waterfall-model-in-software-engineering “Waterfall Model: Definition & Example - Video & Lesson Transcript | Study.com,” Study.com, 2019. https://study.com/academy/lesson/waterfall-model-definition-example.html Rezaid, “SDLC Waterfall Model: The 6 phases you need to know about,” www.rezaid.co.uk. https://www.rezaid.co.uk/post/sdlc-waterfall-model-the-6-phases-you-need-to-know-about S. M. Khan, “Waterfall Model Used in Software Development Reference: Software Requirements Engineering Waterfall Model,” ResearchGate, 2023, doi: https://doi.org/10.13140/RG.2.2.29580.69764. Mubarak Albarka Umar, “A Study of Software Testing: Categories, Levels, Techniques, and Types,” ResearchGate, Jun. 30, 2020. https://www.researchgate.net/publication/342579919_A_Study_of_Software_Testing_Cate gories_Levels_Techniques_and_Types (accessed Oct. 01, 2024). GeeksforGeeks, “Waterfall Model - Software Engineering,” GeeksforGeeks, Mar. 18, 2018. https://www.geeksforgeeks.org/waterfall-model/ “The pros and cons of waterfall methodology,” Lucidchart, Aug. 10, 2018. https://www.lucidchart.com/blog/pros-and-cons-of-waterfall-methodology GeeksforGeeks, “Waterfall Model Software Engineering,” GeeksforGeeks, Jul. 12, 2024. https://www.geeksforgeeks.org/waterfall-model/#advantages-of-the-sdlc-waterfall-model B. Lutkevich, “What is waterfall model? - Definition from WhatIs.com,” SearchSoftwareQuality, Nov. 2022. https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 “Software Development Models Comparison (SDLC) | EPAM Startups & SMBs,” startups.epam.com. https://startups.epam.com/blog/software-development-models- comparison Earteza Auvee, “Waterfall vs. V Model: The Ultimate Comparison,” Impala Intech, Sep. 14, 2023. https://impalaintech.com/blog/waterfall-vs-v-model/ “View of A web based mobile archival system using waterfall model approach,” Unizik.edu.ng, 2024. https://journals.unizik.edu.ng/ujeas/article/view/4103/3349 (accessed Oct. 02, 2024). K. J. Caseres, R. Cruz, L. A. Gonzales, P. G. M. Tapayan, and S. Aribe, Jr, “Developing Digital Research Portal for Bukidnon State University’s Scholarly Work ,” Jun. 12, 2020. https://www.academia.edu/download/63838882/Developing_Digital_Research_Portal_for_ Bukidnon_State_Universitys_Scholarly_Work20200705-16847-1pph8cu.pdf “Waterfall Project Management: Phases, Pros and Cons, and Examples,” dovetail.com, Jan. 21, 2024. https://dovetail.com/product-development/waterfall-project-management/ COLLEGE OF ENGINEERING Information Systems IEP115 Topic Discussion: Comprehensive Overview of the V-Model in SDLC Submitted by: Barrio, Zyra Mae M. Anipan, Cheska Anne D. Alcalde, Mariella C. Bron, Pauline Bianca S. Blanco, John Kennedy L. Cabangal, Rizel V. Calinao, Rene Rose T. Submitted to: Engr. Jeric J. Veras October 7, 2024 COLLEGE OF ENGINEERING V-Model Design The V-model is an SDLC model in which procedures are executed sequentially in a V shape. It is also known as the Verification and Validation Model. The V-Model is an extension of the waterfall model that associates a testing period with each development step. This means that each phase of the development cycle has a corresponding testing phase. This is a highly structured model, with the following step starting only once the previous one is completed. Under the V-Model, the testing phase of the development phase is planned concurrently. So, on one side of the 'V', there are Verification phases, and on the other, Validation phases. The Coding Phase connects the two sides of the V-model. COLLEGE OF ENGINEERING V-Model Verification Phases 1. Business Requirement Analysis This is the first phase in the development cycle where the product requirements are understood from the customer’s perspective. This phase involves detailed communication with the customer to understand his expectations and exact requirement. This is a very important activity and needs to be managed well, as most of the customers are not sure about what exactly they need. The acceptance test design planning is done at this stage as business requirements can be used as an input for acceptance testing. 2. System Design Once you have the clear and detailed product requirements, it is time to design the complete system. The system design will have the understanding and detailing the complete hardware and communication setup for the product under development. The system test plan is developed based on the system design. Doing this at an earlier stage leaves more time for the actual test execution later. 3. Architectural Design Architectural specifications are understood and designed in this phase. Usually more than one technical approach is proposed and based on the technical and financial feasibility the final decision is taken. The system design is broken down further into modules taking up different functionality. This is also referred to as High Level Design (HLD). The data transfer and communication between the internal modules and with the outside world (other systems) is clearly understood and COLLEGE OF ENGINEERING defined in this stage. With this information, integration tests can be designed and documented during this stage. 4. Module Design In this phase, the detailed internal design for all the system modules is specified, referred to as Low Level Design (LLD). It is important that the design is compatible with the other modules in the system architecture and the other external systems. The unit tests are an essential part of any development process and helps eliminate the maximum faults and errors at a very early stage. These unit tests can be designed at this stage based on the internal module designs. 5. Coding Phase The actual coding of the system modules designed in the design phase is taken up in the Coding phase. The best suitable programming language is decided based on the system and architectural requirements. The coding is performed based on the coding guidelines and standards. The code goes through numerous code reviews and is optimized for best performance before the final build is checked into the repository. Validation Phases 1. Unit Testing Unit tests designed in the module design phase are executed on the code during this validation phase. Unit testing is the testing at code level and helps eliminate bugs at an early stage, though all defects cannot be uncovered by unit testing. COLLEGE OF ENGINEERING 2. Integration Testing Integration testing is associated with the architectural design phase. Integration tests are performed to test the coexistence and communication of the internal modules within the system. 3. System Testing System testing is directly associated with the system design phase. System tests check the entire system functionality and the communication of the system under development with external systems. Most of the software and hardware compatibility issues can be uncovered during this system test execution. 4. Acceptance Testing Acceptance testing is associated with the business requirement analysis phase and involves testing the product in user environment. Acceptance tests uncover the compatibility issues with the other systems available in the user environment. It also discovers the non-functional issues such as load and performance defects in the actual user environment. COLLEGE OF ENGINEERING Importance of V-Model 1. Lack of a systematic Approached and Cohesive Approach V-Model works on the principle of Verification and Validation, where for each development phase has a corresponding validation or verification phase. It is also important that the lifecycle proceeds in a structured and coherent manner hence the design involves compelling checkpoints for both reviewing the elements of design and implementation progress. The simplistic and explicit structure of V-model can help to reduce the complexity by dividing generic tasks among coherent steps each connected with its own milestone. 2. Automation for Early Defect Detection and Mitigation The key benefit of the V-model constitutes that it assures early convergence to a bug. Errors can be discovered earlier in the life-cycle since testing activities take place at every stage of development are aligned with the stages. This proactive method minimizes the costs and efforts involved in defect-recification as the issues identified during latter stages would most often require larger rework. 3. Verification and validation are the main points The aim of the V-model is to ensure that both verification (“Are we building the product, right?”) and including validation (is this the product we should build? are thoroughly addressed. The former includes two aspects, functional and technical specifications while the latter takes into account that what happens if during the final product development user is not satisfied with what he desired. This aligns the development phases to its corresponding validation activities, allowing continuous COLLEGE OF ENGINEERING alignment with stakeholder expectations and decreasing requirement mismatches or scope creep. 4. Project Deliverables & Documentation Delivery at every stage of the development process is a reason for this model to be useful. The V-model requires each of its phases to result in specific outputs and it employs these outputs for maintaining accountability and traceability between phases. 5. Risk Adjustment Reconciliation and Quality Assurance The V-model Inherently supports risk reduction by having each phase go through very single peer review, and other verification before going to the next. It minimizes the risk of one-phase error cascading into other phases of the project. Not to mention, continuous testing and validation is also achieved provides greater quality assurance. The V-model embeds quality control processes across the lifecycle, ensuring risks associated with design defects, integration issues, and functional discrepancies are reduced drastically. 6. Helping Communication and Collaborations When clarity of V-Model is well understood, this model helps to establish proper communication among different stakeholders (developers, testers & project managers). The structured phases and deliverables provide a common frame of reference for discussion, so all parties can keep track of the projects status and fulfill its goals. Collaboration is more effective, and the need to rework the same things are reduced, as developers and other departments see eye-to-eye. COLLEGE OF ENGINEERING Principles of V-Model The V-Model, or Verification and Validation Model, is a structured software development approach that emphasizes the importance of testing at each phase of the development lifecycle. This model is built on several key principles, each contributing to its overall effectiveness in ensuring high-quality software delivery. Below is a detailed exploration of these principles. Large to Small Project The V-Model is particularly well-suited for large projects where requirements are well-defined from the beginning. In such cases, the model allows for a systematic breakdown of the project into smaller, manageable components. Each component undergoes its own verification and validation processes, ensuring that both the individual parts and the overall system meet specified requirements. For instance, in a large-scale banking application, various modules such as account management, transaction processing, and reporting can be developed and tested independently before integrating them into a complete system. In contrast, smaller projects may not require such rigorous separation of phases due to their limited scope and complexity. However, even in smaller projects, applying the V-Model principles can enhance clarity and organization. For example, a small e- commerce website can still benefit from defining specific testing phases for user authentication, product catalog management, and payment processing to ensure that each function operates correctly before integration. COLLEGE OF ENGINEERING Data/Process Integrity Data integrity is a critical aspect of software development that the V-Model addresses through its structured approach. By establishing clear requirements and corresponding testing phases for each development stage, the model helps ensure that data remains accurate and consistent throughout the project lifecycle. For example, in a healthcare application managing patient records, it is essential to verify that data input processes are designed correctly and validated rigorously to prevent errors in patient information. Moreover, process integrity involves maintaining adherence to defined workflows and standards throughout development. The V-Model facilitates this by requiring documentation at each stage, which serves as a reference for both developers and testers. This documentation can include design specifications and test plans that help track compliance with established processes. In a scenario where an enterprise resource planning (ERP) system is being developed, maintaining data integrity through proper validation ensures that financial transactions are recorded accurately and comply with regulatory standards. Scalability Scalability is another fundamental principle of the V-Model that allows it to adapt to projects of varying sizes and complexities. The model's structured nature enables teams to scale their efforts effectively by adding more resources or dividing tasks among multiple teams without losing coherence in the development process. For instance, in developing a large-scale cloud-based application, different teams can focus on separate modules—such as user management or data analytics— while still adhering to a unified testing strategy. COLLEGE OF ENGINEERING In addition to managing resources effectively, scalability within the V-Model also relates to its ability to accommodate changes in project scope or requirements. As new features are identified or existing ones modified, the model allows for adjustments in both development and testing phases without compromising quality or timelines. For example, if an additional feature for real-time reporting is added to an existing project, the V-Model facilitates the integration of this feature while ensuring that corresponding tests are planned and executed accordingly. Cross-Referencing Cross-referencing is essential within the V-Model as it ensures that all aspects of development are aligned with their respective testing phases. This principle emphasizes the need for clear connections between requirements, design specifications, implementation details, and their corresponding tests. For example, if a requirement specifies that a system must support multi-factor authentication, there should be direct references in both the design documents and test cases that validate this functionality. This cross-referencing helps maintain traceability throughout the project lifecycle. In practice, it means that any changes made during development can be tracked back to their original requirements and associated tests. For instance, if modifications are made to enhance user security features in a mobile application, cross-referencing ensures that all related test cases are updated accordingly to verify compliance with new security standards. Tangible Documentation The principle of tangible documentation underscores the importance of maintaining comprehensive records throughout the V-Model process. COLLEGE OF ENGINEERING Documentation serves multiple purposes: it provides clarity on project requirements, outlines design decisions, and details testing strategies. This principle ensures that all stakeholders have access to vital information at every stage of development. For example, in developing an aviation control system where safety is paramount, detailed documentation of requirements and test results is crucial for regulatory compliance. Furthermore, tangible documentation enhances communication among team members by providing a shared understanding of project goals and progress. In scenarios where multiple teams work on different components of a large system— such as an online banking platform—having well-documented specifications and test plans facilitates collaboration and reduces misunderstandings about expectations or deliverables. When and where to use V-Model? WHEN? Doing Complex and Long-Lifespan Product Development - The V-model is well-suited for developing complex, long-lifespan products due to its emphasis on reliability, structured testing at every stage, and strong quality assurance. By ensuring thorough verification and validation throughout the process, the V-model helps to minimize errors and maintain high standards for safety and performance. Designing and Adopting of Standards - The V-model can be customized to support the design and adoption of standards by emphasizing the interrelationships between these two processes. This approach highlights how the conceptual design of standards is connected to their adoption in practice. The V-model's focus on design and testing, rather than the implementation itself, ensures that standards are thoroughly validated before adoption, COLLEGE OF ENGINEERING improving their reliability and usability in real-world applications. It helps streamline the standards development process by integrating design with iterative feedback from testing. Building Interoperability - The V-model can be adapted to create interoperability by customizing it into three key phases: design, enablement, and adoption. This modified V- model approach is particularly useful for developing and implementing standards, as demonstrated through its application in e-procurement systems. Aiming to Improve Efficiency and Effectiveness - The V-model enhances efficiency and effectiveness by employing a structured approach where each phase builds on the results and documentation of the previous one. It creates a clear relationship between design and testing activities, ensuring that testing is integrated early in the process. Strict Quality Assurance and Compliance - The V-model is effective for strict quality assurance and compliance as it provides a clear framework for the development process, ensuring that each phase is documented and validated. This structured approach allows development teams to focus on which documents are necessary, the reasons for their inclusion, and the appropriate content required at each stage. By integrating rigorous testing and verification, the V-model facilitates compliance with industry standards, leading to high- quality outcomes from initial design to user acceptance. WHERE? Automotive - The V-model is used in automotive development to ensure the reliability and safety of vehicles. For example, during the design phase, engineers can create detailed specifications for engine performance, followed by rigorous testing at each development stage to ensure compliance with safety standards [19. Robotics - The V-model aids in the development of complex robotic systems by ensuring that design and functionality are thoroughly tested. For instance, when developing a robotic COLLEGE OF ENGINEERING arm, each component can be designed and tested individually before integrating them into the final product [19. Software Development - The V-model is commonly applied in software development for creating robust applications. For instance, a team might design a software feature, develop it, and then conduct testing at each stage to ensure that the application meets user requirements and functions correctly [19. Manufacturers - Manufacturers utilize the V-model to streamline production processes and maintain quality control. For example, in the manufacturing of consumer electronics, the V- model helps ensure that each product meets design specifications through testing during various phases of the production cycle [19. Engineering Environments - In engineering environments, the V-model supports the development of complex systems by providing a clear framework for design, testing, and validation. For instance, when designing infrastructure projects like bridges, engineers can use the V-model to ensure safety and compliance with regulatory standards throughout the project lifecycle [19. Healthcare- In healthcare technology, the V-model can be applied to develop medical devices. For instance, when creating a new pacemaker, design specifications are followed by thorough testing to ensure compliance with regulatory requirements and patient safety [19. Telecommunications - The V-model is used in telecommunications for developing network systems. For example, during the rollout of a new cellular network, each component (hardware and software) is designed, tested, and validated before full implementation to ensure reliability and performance [19. COLLEGE OF ENGINEERING Advantages and Disadvantages (Pros and Cons) The V-Model offers a highly structured framework for software development, ensuring that each development phase is directly linked to a corresponding testing phase. This model promotes early detection of defects and clear progress tracking through detailed documentation. However, its rigid sequential flow can be restrictive, particularly in dynamic environments where requirements may change frequently, making it less adaptable to iterative or evolving project needs. Advantage (Pros) of V-Model: Easy to Understand. Testing Methods like planning, test designing happens well before coding. This saves a lot of time. Hence a higher chance of success over the waterfall model. Avoids the downward flow of the defects. Works well for small plans where requirements are easily understood. Disadvantage (Cons) of V-Model: Very rigid and least flexible. Not good for a complex project. Software is developed during the implementation stage, so no early prototypes of the software are produced. If any changes happen midway, then the test documents along with the required documents, have to be updated. COLLEGE OF ENGINEERING Application of V-Model in Automotive Industry The V-model is used in several critical areas of automotive development, primarily where systems engineering, software, and safety are involved. Specifically, it is employed in the following parts of the automotive industry. Automotive Software Development Electronic Control Units (ECUs): ECUs control various vehicle functions, such as engine management, transmission, braking systems, and more. The V-model ensures that the software developed for these units is reliable and meets the system's requirements. Advanced Driver Assistance Systems (ADAS): This includes systems like lane- keeping assist, adaptive cruise control, and autonomous driving features. The V- model helps ensure that the complex software controlling these systems is thoroughly validated and tested. Infotainment Systems: The V-model is also applied in the development of vehicle infotainment systems, ensuring that software components meet user requirements and function correctly under different conditions. Safety-Critical Systems Functional Safety (ISO 26262): The V-model is central to the development of safety-critical systems to meet ISO 26262 standards. This includes airbag systems, anti-lock braking systems (ABS), electronic stability control (ESC), and other systems where failure could result in severe consequences. Powertrain Control Systems: This involves engine control, fuel injection, hybrid drive systems, and transmission control. These systems require precise control and coordination, which is verified and validated using the V-model. COLLEGE OF ENGINEERING Embedded Systems Sensors and Actuators: Sensors used for various vehicle functions (e.g., engine temperature sensors, parking sensors) are designed and validated using the V- model approach to ensure accurate functioning. Vehicle Communication Networks: Systems like CAN bus or LIN bus for in-vehicle communication between different ECUs also follow the V-model approach for development, ensuring robust communication between critical systems. Electrical and Electronic Architecture Battery Management Systems (BMS): In electric vehicles, the V-model is used to ensure the reliable design and operation of systems like the BMS, which is critical for monitoring and controlling the charging and discharging of batteries. Charging Systems: Development of charging infrastructure and onboard chargers also follows the V-model to ensure compatibility, efficiency, and safety. Vehicle Dynamics and Control Braking Systems: The V-model is used to develop electronic braking systems like ABS and ESC, which require precise and reliable control to ensure the safety of the vehicle. Suspension and Steering Systems: Advanced electronic control of suspension and steering systems, including active suspension or electronic steering, uses the V- model to ensure that the system behaves as expected under different driving conditions. Autonomous Vehicles: The development of autonomous vehicles relies heavily on the V-model for the validation of complex algorithms and software systems that control decision-making, object detection, path planning, and vehicle control. COLLEGE OF ENGINEERING Vehicle Testing and Validation: Simulation and Modeling: Before physical testing, virtual simulations (like hardware-in-the- loop and software-in-the-loop testing) are conducted using V-model principles to verify that the system will behave correctly when integrated into the actual vehicle. System Integration Testing: The V-model supports end-to-end testing of how different vehicle components and systems work together, ensuring that the final integrated vehicle performs according to requirements. The V-model is applied wherever there is a need for high levels of reliability, traceability, and verification, particularly in systems that affect the safety, performance, and user experience of vehicles. COLLEGE OF ENGINEERING References WATEERFALLVs V-MODEL Vs AGILE: A COMPARATIVE STUDY ON SDLC. (2012). https://mediaweb.saintleo.edu/Courses/COM430/M2Readings/WATEERFALLVs%20V- MODEL%20Vs%20AGILE%20A%20COMPARATIVE%20STUDY%20ON%20SDLC.pdf Boehm, B., & Turner, R. N. (2003). Balancing agility and discipline: A guide for the perplexed. Addison-Wesley Professional Pressman, R. S., & Maxim, B. R. (2014). Software engineering: A Practitioner’s Approach. McGraw-Hill Education. Guest. (2023, November 17). Shari Lawrence pfleeger, Joanne M. atlee - software engineering - theory and practice-Prentice hall (2009). Pdfcoffee.com. https://pdfcoffee.com/shari-lawrence-pfleeger-joanne-m-atlee-software-engineering- theory-and-practice-prentice-hall-2009-pdf-free.html Nidhra, S., & Dondeti, J. (2012). Black box and white box testing techniques: A literature review. International Journal of Embedded Systems and Applications, 2(2), 29-50. “The V-model explained | IAPM.” https://www.iapm.net/en/blog/v-model/ “What is the V Model in Software Development? | Relia Software,” Apr. 19, 2024. https://reliasoftware.com/blog/v-model A. Oppermann, “What is the V-Model in software development?,” Built In, Apr. 06, 2023. https://builtin.com/software-engineering-perspectives/v-model COLLEGE OF ENGINEERING GeeksforGeeks, “SDLC VModel Software Engineering,” GeeksforGeeks, Mar. 06, 2024. https://www.geeksforgeeks.org/software-engineering-sdlc-v-model/ “SDLC - V-Model.” https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm A. Mondorf and M. A. Wimmer, "Design and Adoption of Standard Specifications using the V-Model," Electronic Government and Electronic Participation, vol. 21, pp. 141-150, 2014, doi: 10.3233/978-1-61499-429-9-141. https://ebooks.iospress.nl/doi/10.3233/978-1- 61499-429-9-141 R. M. M. Mahboob, "Enhancement in V-model for Component Based Development," International Journal of Computer Applications, vol. 174, no. 20, pp. 20-25, 2020, doi: 10.5120/ijca2020919355. https://www.researchgate.net/profile/Rao-Muhammad-Mahtab- Mahboob-2/publication/337414004_Enhancement_in_V- model_for_Component_Based_Development/links/61af189568f38b79131b846d/Enhance ment-in-V-model-for-Component-Based-Development.pdf A. S. G. S. Sadikoglu, "Design and Implementation of a Digital Control System for an Electric Motor," SAUCIS, vol. 9, no. 1, pp. 1-10, 2022. Available: http://saucis.sakarya.edu.tr/tr/pub/issue/59732/879905 S. A. El-Khalil, "A New Approach for the V-Model in System Engineering," IEEE Access, vol. 6, pp. 68869-68879, 2018. doi: 10.1109/ACCESS.2018.2873872. https://ieeexplore.ieee.org/abstract/document/7890592 A. R. Sheikh and I. A. Raza, "A V-Model Approach for Software Development," Journal of Manufacturing Technology Management, vol. 34, no. 1, pp. 123-140, 2022. doi: COLLEGE OF ENGINEERING 10.1108/JMTM-10-2022-0377. https://www.emerald.com/insight/content/doi/10.1108/JMTM-10-2022-0377/full/html A. T. B. Gomes and P. A. L. Ferreira, "A V-Model Application in a Software Development Process," in Proceedings of the 2024 International Conference on Software Engineering, 2024. doi: 10.5220/000126397. https://www.scitepress.org/Papers/2024/126397/126397.pdf M. A. Ali and A. H. Altamimi, "Implementation of the V-Model in Aerospace Systems Engineering," AIAA Aviation Forum, 2018. doi: 10.2514/6.2018-5326. https://arc.aiaa.org/doi/abs/10.2514/6.2018-5326 N. J. P. Lehtinen, "Model-Based Systems Engineering: An Application of the V-Model," Master's Thesis, University of Helsinki, 2021. https://helda.helsinki.fi/bitstreams/0e448a31- 43db-44ff-871f-ad867e748514/download M. W. M. N. Shah, A. A. M. Rahman, and I. A. N. Sulaiman, "Design and Implementation of a V-Model Based Software Development Process," Electronics, vol. 13, no. 11, pp. 2051, 2024. doi: 10.3390/electronics13112051. https://www.mdpi.com/2079-9292/13/11/2051 “V-model (Software Engineering) - javatpoint,” www.javatpoint.com, 2023.https://www.javatpoint.com/software-engineering-v- model?fbclid=IwY2xjawFrtTxleHRuA2FlbQIxMAABHcUJDH2n7POofUQ3Zpj_hdvPM1TtIXMdI mZDUCFeJIV4k80Rt7kyqDIJmw_aem_XxoUpxsGPs9mW2ZTnG0iTQ COLLEGE OF ENGINEERING eInfochips, “The V-Model: A Blueprint for Success in Automotive Software Development,” Medium, Oct. 13, 2023. https://medium.com/@einfochips/the-v-model-a- blueprint-for-success-in-automotive-software-development-f293fb57936b M. Johanson“Fig. 1. V-model of automotive product development,” ResearchGate, 2020. https://www.researchgate.net/figure/V-model-of-automotive-product- development_fig1_221910054 S. Thomas, “Applying the V-Model in Automotive Software Development,” Jun. 25, 2021. https://www.einfochips.com/blog/v-model-in-automotive-software-development/ Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 RAD Model Information Systems (IEP115) 4 IE-B SUBMITTED BY: TABARANZA, LEBROUNE JAMES TAGLE, KASHMYR TUBEO, JANE RELI UNTALAN, KEVIN CHRISTIAN UY, SHANZEN VILLAMAYOR, MARK JOSEPH SUBMITTED TO: Engr. Jeric J. Veras October 2024 1 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 TABLE OF CONTENTS Historical Background.............................................................................................................. 3 Background of the study.......................................................................................................... 3 Definition.................................................................................................................................... 3 Objectives.................................................................................................................................. 4 Phases of RAD Model............................................................................................................... 5 Application and Tools Of RAD Model...................................................................................... 6 Advantages and Disadvantages of RAD Model.................................................................... 10 Comparison with Traditional Development Methodologies................................................ 11 RAD Case Study Example...................................................................................................... 13 References............................................................................................................................... 14 2 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 HISTORY AND BACKGROUND RAD Historical Background James Martin (1933-2013) James Martin invented RAD in the 1980s as an alternative to the Waterfall model, which was the prevalent approach at the time. Martin wanted to design a more efficient method to software development that could manage rapidly changing requirements and allow for faster application delivery. The RAD technique was built on iterative development, with the emphasis on swiftly creating a prototype and refining it based on stakeholder feedback. RAD takes a collaborative approach, with developers working closely with stakeholders to determine requirements, design, prototype, create, and test the program. The method is iterative, which means that the client's feedback is used to improve the prototype until the finished product is provided. RAD is very useful for projects with rapidly changing requirements. Background of the Study The RAD model, also known as the Rapid Application Development model, is a software development process that emphasizes quick and iterative release cycles, with the primary goal of providing working software in shorter time frames. Unlike older methods such as the Waterfall model, RAD is intended to be more adaptable and sensitive to user feedback and changing requirements throughout the development process. DEFINITION Rapid Application Development (RAD) is a software development methodology that focuses on rapid prototyping and minimal planning, it focuses on building applications in a very short amount of time or Timebox. 3 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 This model was proposed by IBM in the 1980s, the main feature of this model is its short time span with a duration of 60 to 90 days only, and also this model can be utilized if the project can be broken down into small modules, and these modules will be assigned to separate teams working independently. OBJECTIVES 1. Speedy Development - RAD focuses on accelerating the software development process through rapid prototyping and iterations, producing a working system quickly—ideal for tight deadlines. 2. Adaptability and Flexibility - This model emphasizes quick adaptation to evolving needs, allowing stakeholders to modify and improve the system based on changing requirements and user feedback. 3. Stakeholder Participation - RAD encourages active participation from end users and stakeholders throughout the development cycle, ensuring the evolving system meets both user and business needs through collaboration and frequent feedback. 4. Improved Interaction - The model enhances collaboration and communication between development teams and stakeholders, reducing misunderstandings through frequent communication and feedback loops. 5. Improved Quality via Prototyping - Early testing and visualization of system components help identify issues, validate design choices, and ensure the final product meets user expectations. 6. Customer Satisfaction - By involving users throughout development and delivering functional prototypes quickly, RAD increases the likelihood of customer satisfaction with the final product. 4 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 PHASES Developers can add new features and functionalities to the application at any given time. RAD also gets rid of the planning phase in favor of prioritizing speed. Software becomes ready for use in a shorter period. Multiple testing ensures that each application fully meets the users’ needs. These are the five RAD phases: Phase 1: Business modeling At this stage, information flow between different business functions is defined by answering the following questions: What data drives the business process? Who generates the data? Where does the information go? Who processes it? Information is gathered through many business-related sources. This information is combined to create a useful description of how the data will be used when it is processed. Phase 2: Data modeling The information gathered during the Business Modeling phase is analyzed and categorized into different groups (data objects) that are needed to support the business. The attributes of each group are identified, and the relationship between them is defined. Phase 3: Process modeling Process modeling is the third phase of the RAD methodology. Here, all the information groups from the Data Modeling stage are converted into usable data models. These models help extract information from the data objects for making the changes required for proper processing and are responsible for executing business functions. At this stage, changes and optimization in development can be done to increase value and quality. 5 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 Phase 4: Application generation Here, all the data gathered is coded, and the system that will be used to build the prototype is developed. The data models become actual prototypes that can be tested. Automated tools are used to speed up construction of the software. Phase 5: Testing and turnover This RAD methodology phase ensures less time is spent testing the prototypes created. Every prototype is tested separately to modify the components quickly and to create the best product. The overall testing time is reduced since many of the programming components have already been tested. APPLICATIONS Applications of Rapid Application Development Model (RAD) Why use RAD? Businesses opt for the RAD approach as it requires little focus on the planning phase while enabling the team to design, review, and iterate features and functionalities quickly. RAD is driven by user interface needs and is perfect for application development requiring quick development and deployment. Businesses adopt different types of rapid app development because of their agility, flexibility, and scalability. When to use RAD? When a system needs to be produced in a short span of time (2-3 months), when the requirements are known, when the user will be involved all through the life cycle, when technical risk for the project is low, when high performance is not required, when there is a necessity to create a system that can be modularized in 2-3 months of time, and when a budget is high enough to afford designers for modeling along with the cost of automated tools for code generation. Where to use RAD? RAD is perfect for situations where app development specifically calls for quick development and deployment. It can be beneficial when the project requires a dynamic approach, apps need to be developed quickly, progress needs to be made visible, clients need to be involved in the development, user feedback is readily available, and technical risk is not high. 6 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 Application in Different Industries Healthcare A healthcare provider could use RAD to create an app that helps patients manage chronic conditions such as diabetes by tracking daily health metrics and providing personalized advice. This will most likely be a patient engagement app that allows for appointment scheduling, medication tracking, and health advice based on user data. Insurance The RAD methodology can serve as a foundation for creating insurance claim processing systems. RAD enables rapid updates and iterative testing with end-user feedback, which is ideal for claims processing that must constantly adapt to new insurance products. Retail RAD is an ideal foundation for UI-forward retail apps that provide a virtual try-on experience. For example, such an app could allow customers to see how clothes will look on them using augmented reality before making a purchase. Real Estate Rapid application development can be utilized for: Systems that manage property listings and client interactions must adapt to changes in regulatory environments. Real estate visualization apps that enable prospective home buyers to view and customize property interiors in 3D before visiting. Education An app that uses gamification to teach children new concepts in math and science through interactive quizzes and colorful animations. This UI-forward app is ideal for rapid web application development Rapid Application Development Tools 1. Quixy 7 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 Quixy is a comprehensive RAD tool with pre-built templates and a user-friendly interface. It offers features for workflow management, BPM, and integration with various applications. Also, users can easily create and manage applications without extensive coding knowledge. 2. Zoho Creator Zoho Creator is a popular RAD tool known for its drag-and-drop interface. It supports data collection, custom workflows, and rule creation for web application development. Non-technical users can easily build applications using this tool. 3. Kissflow Kissflow is a user-friendly RAD tool that requires minimal coding knowledge. It integrates with various business suites and offers automated insights for software improvement. Users can streamline their business processes and improve software performance with Kissflow. 4. Outsystems Outsystems is a platform specifically designed for RAD, offering powerful tools for building, deploying, and managing enterprise-grade applications. It emphasizes rapid prototyping, feedback, and collaboration to deliver high-quality applications. Users can easily integrate Outsystems with other tools and systems for a seamless development experience 5. Appian 8 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 A well-known RAD tool that prioritizes simplicity and speed. It offers drag-and-drop solutions for building applications without extensive coding knowledge and supports integration with third-party tools. 6. Salesforce Lightning Salesforce Lightning is a sophisticated RAD platform that provides powerful tools for accelerating development processes. It offers features like Lightning Voice for voice calls and integrates with Microsoft Outlook. Users can easily build and manage business applications within the Salesforce ecosystem 7. Nintex Nintex is a process management software and RAD tool that automates manual processes through a collection of user-friendly tools. It offers features like workflow bots, robotic process automation, and document management. Nintex is suitable for organizations looking to automate repetitive tasks, streamline their workflows, and improve efficiency. 8. Bizagi Bizagi is a BPM suite that streamlines business operations and offers features like a process simulator, designer, team collaboration tools, and form builder. It's suitable for organizations seeking a RAD solution with BPM capabilities. Users can create and manage complex business processes, improve efficiency, and drive innovation with Bizagi. 9. Oracle Application Express 9 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 Oracle Application Express is a tool focused on providing rapid web application development capabilities for data monitoring and analysis. It offers a user-friendly interface, real-time deployment, and robust security features. Applicable to organizations that want to easily create and deploy web applications for data analysis and reporting within their organizations. 10. Microsoft PowerApps Microsoft PowerApps is a popular RAD solution that integrates with Microsoft Azure and offers extensive customization options. It's accessible to both experienced and inexperienced developers and integrates with Microsoft Account, Office 365, and various data sources. ADVANTAGE AND DISADVANTAGES OF RAD MODEL Rapid Application Development (RAD) is a software development methodology that prioritizes rapid prototyping and quick feedback over long, drawn-out development and testing cycles which contributes to the overall value generation for businesses. Flexible and adaptable to changes It can’t be used for smaller projects It is useful when you have to reduce Not all application is compatible with the overall project risk RAD It is adaptable and flexible to changes When technical risk is high, it is not suitable It is easier to transfer deliverables as If developers are not committed to scripts, high-level abstractions and delivering software on time, RAD intermediate codes are used projects can fail Due to code generators and code Reduced features due to time boxing, reuse, there is a reduction of manual where features are pushed to a later coding version to finish a release in short period Due to prototyping in nature, there is a Reduced scalability occurs because a possibility of lesser defects RAD developed application begins as a prototype and evolves into a finished application Each phase in RAD delivers highest Progress and problems accustomed priority functionality to client are hard to track as such there is no documentation to demonstrate what has been done With less people, productivity can be Requires highly skilled designers or increased in short time developers 10 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 COMPARISON WITH TRADITIONAL DEVELOPMENT METHODOLOGIES Comparison with Traditional Development Methodology Joint Application Rapid Application Development (JAD) Development (RAD) Purpose Focused on gathering Focuses on quick development requirements and fostering of prototypes to meet user collaboration between users, requirements efficiently developers, and managers Approach Stakeholders engage in Includes tools and user's discussions about needs and feedbacks in development requirements to reach a cycles common agreement Timeframe Longer sessions, depending on Shorter cycles and phases to the project complexity develop prototypes quickly Advantages Collaboration and Fast development process, communication, less flexibility and adaptability to misunderstandings changing requirements Disadvantages Time consuming, requires skills Can lead to insufficient to manage discussions documentation, uncontrolled effectively project expansion Rapid Application Development (RAD) focuses on accelerating the development process via prototyping, whereas Joint Application Development (JAD) prioritizes collaboration among stakeholders to accurately establish requirements. While both methodologies seek to improve user satisfaction and the success of projects, they address distinct challenges within the software development lifecycle. Comparison with Software Development Model Waterfall Software Rapid Application Development Development (RAD) Purpose Provides clear and systematic Speeds up development approach to software process development Approach Linear and subsequential Repeated phases are approach, each phase must be allowed due to the user's completed before the next feedback begins. Timeframe Typically longer, all phases must Quick development process be completed in sequence Advantages Manageable track progress, clear Greater user satisfaction due structure and milestones to continuous feedback Disadvantages Inflexible to changes, late Potential for insufficient discovery of issues documentation 11 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 Waterfall Software Development approach emphasizes thorough documentation and planning, making it easier to manage large projects with well-defined scopes. While the Rapid Application Development (RAD) enhances responsiveness to changing requirements and fosters greater user involvement, leading to higher satisfaction. Comparison with Software Development Model Agile Software Development Rapid Application Development (RAD) Purpose Broader and can be applied to Specifically geared toward various types of projects software with a need for quick delivery and frequent user feedback Approach Short development cycles called Involves creating prototypes sprints, progress review and early and refining them adjust plans regularly based on user feedback Timeframe Focuses on iterative sprints, Prioritizes rapid prototyping leading to a potentially longer and fast user feedback, often overall project timeline due to resulting in shorter project continuous delivery and timelines aimed at quick refinement delivery Advantages Regular releases of functional Direct involvement of users software that allows early during prototyping to ensure problem detection user expectations Disadvantages Project timeline and budgets are Focusing on rapid delivery difficult to estimate due to might result in neglecting ongoing changes some important features or functionalities Both Agile and RAD aim to enhance user satisfaction through adaptability and feedback, but Agile emphasizes iterative cycles and team collaboration, while RAD focuses on rapid prototyping and expedited delivery. Each methodology is suited for different project dynamics and objectives 12 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 RAD CASE STUDY EXAMPLE According to the research conducted by J. Lutrania entitled “The Use of Rapid Application Development (RAD) Method in New Students Registration Information System”, the registration process of new students are the most crucial process in any university, especially having a large influx of new students each school year. Their current registration process faced challenges including being time-consuming and inefficient due to extensive paperwork and data entry, resulting in delays and potential errors. Moreover, the lack of real-time data access for the registration committee hindered their ability to monitor progress and make informed decisions. Additionally, students experienced difficulty in accessing information about registration procedures and deadlines, causing confusion and frustration. Their primary objective is to develop a web-based registration information system in order to automate the manual registration process and provide real-time data to the committee using the Rapid Application Development (RAD) methodology. The development process of the web-based new student registration information system involved several key steps. Data collection was conducted through observation of the existing registration process, interviews with registration committee members and students, and analysis of relevant documents. The system was then developed using appropriate programming languages and tools, with a focus on ensuring security and accessibility standards were met. Subsequently, black box testing was carried out to evaluate the system's functionality, ensuring it met the specified requirements by verifying its ability to handle various input scenarios and produce the expected outputs. In conclusion, this case study demonstrates the benefits of investing in technology to improve university processes. The development of a web-based new student registration information system has significantly enhanced efficiency, accuracy, and user experience, ultimately contributing to a smoother and more successful registration process for all stakeholders. 13 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 REFERENCES “General | Software development Life cycle | Rapid Application Development (RAD) | Codecademy,” Codecademy, May 21, 2023. https://www.codecademy.com/resources/docs/general/software-development-life-cycle/r apid-application-development?formCode=MG0AV3 GeeksforGeeks, “Rapid Application Development Model (RAD) Software engineering,” GeeksforGeeks, Sep. 22, 2024. https://www.geeksforgeeks.org/software-engineering-rapid-application-development-mo del-rad/?formCode=MG0AV3 Understanding the Phases of Rapid Application Development (RAD),” https://kissflow.com/application-development/rad/rapid-application-development-rad-pha ses/ Quixy Editorial Team, "Top 10 Rapid Application Development Tools to Consider," 08 March 2024. [Online]. Available: https://quixy.com/blog/what-are-the-top-rapid-application-development-tools/. [Accessed 09 October 2024]. “What is RAD Model? Phases, Advantages and Disadvantages,” Guru99, https://www.guru99.com/what-is-rad-rapid-software-development-model-advantages-disadvant ages.html (accessed Oct. 06, 2024). Jaypee Lutrania, “SIAP UNGGAH 7 - Artikel Indri Translate,” Scribd, 2024. https://www.scribd.com/document/658615198/SIAP-UNGGAH-7-Artikel-Indri-Translate (accessed Oct. 06, 2024). Overview of the JAD methodology | developer.com, https://www.developer.com/project-management/jad-methodology/ (accessed Oct. 7, 2024). B. Lutkevich and S. Lewis, “What is the waterfall model? - definition and guide,” Software Quality, https://www.techtarget.com/searchsoftwarequality/definition/waterfall-model#:~:text=The%20w aterfall%20model%20is%20a,the%20edge%20of%20a%20cliff. (accessed Oct. 7, 2024). GeeksforGeeks, “Agile Software Development - software engineering,” GeeksforGeeks, https://www.geeksforgeeks.org/software-engineering-agile-software-development/ (accessed Oct. 7, 2024). 14 Republic of the Philippines Pamantasan ng Cabuyao (University of Cabuyao) COLLEGE OF ENGINEERING Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna 4025 “Rapid Application Development: The Ultimate Guide for 2024,” binariks.com. https://binariks.com/blog/rapid-application-development-model/ 15 Republic of the Philippines University of Cabuyao (Pamantasan ng Cabuyao) College of Engineering Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna, Phillippines 4025 IEP115 Information Systems Incremental Model in Software Development Life Cycle (SDLC) By: Gayon, Shaena Hernandez, Gilian Jose, Jan Emmanuel Jumamoy, John Francis Junio, Hans Elijah Ladiao, Carol Joy Instructor: Engr. Jeric J. Veras October 10, 2024 Republic of the Philippines University of Cabuyao (Pamantasan ng Cabuyao) College of Engineering Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna, Phillippines 4025 I. Introduction The Incremental Model is a significant methodology in the Software Development Life Cycle (SDLC), known for its organized yet flexible approach to developing software systems. This paradigm stresses iterative and phased development of software products, with the goal of delivering functional components incrementally rather than a single, monolithic solution at the conclusion of the development cycle. In this model, the development process is divided into smaller, manageable increments or parts, each of which represents a portion of the complete system’s functionality. These increments are designed, implemented, and tested in a sequential manner, allowing for ongoing integration and refinement. This approach offers a pragmatic balance between planning and adaptability, making it particularly suitable for projects where requirements are expected to evolve over time. Figure1. Incremental Model An incremental model is a simple working system that is constructed with only a few basic features and then provided to the clients. Subsequently, multiple iterations/versions are implemented and provided to the customer until the desired system is released. It incorporates the aspects of the waterfall model in an iterative process. It produces a series of releases known as increments, each of which provides the client with increasingly greater features. Republic of the Philippines University of Cabuyao (Pamantasan ng Cabuyao) College of Engineering Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna, Phillippines 4025 Example Scenario: A restaurant wants to develop a mobile app that allows customers to order food online, view the menu, and track their orders. Figure 2. Example of Developing a Mobile App Build 1: Basic Functionality Design and Development: Design a small application with only a single key function: ordering food with delivery. Customers can select options from a limited number of products and make orders. Testing: It will be useful to check the orders and ordering system to make sure every link is safe and efficient. Implementation: Release the app where the customers have limited ordering options. Build 2: Expanded Menu and Order Tracking Design and Development: Increase the number of menu items, including images and explanations. Implement a tool that enables customers to track the status of their orders in real time. Testing: Verify the enlarged menu and order tracking capabilities to ensure accuracy and responsiveness. Implementation: Update the app to include the new functionality. Republic of the Philippines University of Cabuyao (Pamantasan ng Cabuyao) College of Engineering Katapatan Mutual Homes, Brgy. Banay-banay, City of Cabuyao, Laguna, Phillippines 4025 Build 3: Reviews and Loyalty Program Design and Development: Incorporate a review system where customers can rate their orders and leave feedback. Introduce a loyalty program with rewards for frequent customers. Testing: Test the review system and loyalty program to ensure they work as intended and provide a positive user experience. Implementation: Release the updated app with the added