Wait a second!
More handpicked essays just for you.
More handpicked essays just for you.
Case study of waterfall model
Strengths and Weaknesses of Waterfall Approach for Software Development
What are the advantages and disadvantages of following the waterfall system development process
Don’t take our word for it - see why 10 million students trust us with their essay needs.
Recommended: Case study of waterfall model
Waterfall is a linear process model that follows a sequential path from requirements analysis, design, implementation, testing and delivering the product (Royce, 2005, p30). It is characterised by being a document heavy and predictable. Because of the predictability it’s strengths are when a project has concrete requirements from the beginning that are extremely unlikely to change (Boehm, 1988). Being extremely well documented, the entire process is transparent and if one was to look through the documentation all relevant information would be available such as current progress so far and expected completion dates for the entire project. However with an emphasis on documentation, not all information recorded may be pertinent and finding the …show more content…
In addition to this, Waterfall’s other weakness is when project requirements are fast changing. With all requirements analysis done at the beginning before moving onto design, Waterfall offers no guidance on how to deal with changes (Royce, 2005). A focus on manufacturing a product instead of being a flexible process that adapts to change makes Waterfall ill suited to many modern software problems.Prototype model is a process model that recognises the need for requirements to reconsidered and reviewed. High level requirements of the software are identified and defined for a quick design to …show more content…
As software engineering is still a young science the debate around the most optimine practices remains volatile.As process models become better defined, it becomes easier to describe them in a computer readable language. Being able to define a problem in such a way is a key factor in creating automated processes. When an adequate process model has been proposed and defined, process technology tools can be used to evaluate the tasks as characterised by the process model. Functionality of these process technology tools can include designating tasks within stages of the model and monitoring the progress and success of them. (Royce, 2005). As the models become better defined it may even be possible to have software controlling process by utilising optimisation methods. However the difficulty in reaching this level of automation is that clear heuristics are required for what qualifies as a successful model, heuristics that are computable. With clear heuristics for success of a model, such as low time or cost, the typical workflow of a model can be evaluated against alternate workflows to determine the most time or cost effective path (Royce, 2005). Using these tools, computer optimised process models can be used to select the perfect process model for certain projects. There is the potential for process models to be tailor made for each project via
The Software Development Life Cycle is seldom used at my place of work. Unfortunately, recent developments in its use are deemed confidential. Due to this fact, this paper will examine in general terms one of the projects we are undertaking right now while at the same time attempting to maintain our confidentiality.
Business requirements are gathered in this stage. This stage is the main focus of the project managers and stake holders. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the main project approach and to conduct product feasibility study in the economical, operational and technical areas. You identify needs of the software. This is the vital stage, because bad investigation may lead to the project
Another process activity useful for the prediction of changes is requirements-driven impact analysis or RIDA, for short. This analysis is used to pinpoint which software entities need to be altered in order to be able to implement a certain requirement (Lindvall, 1998). RIDA, which is conducted during the release planning phase, takes two variables into consideration. Firstly, there is the input, which refers to the existing complex system and the set of requirements. Secondly, there is the output, which represents the specific software entities that have to be changed to meet each requirement.
Workflow is a series of sequencial steps that take place, creating a process to complete a task. The process, generally speaking, involves two or more individuals and creates or adds value to an organization. Workflows are a standardization of work that takes into account quality, productivity, cost, safety and moral depending on the type of process flow (Liker & Meier, 2006). Workflow analysis includes observation and documentation of the process to better understand the current state. Viewing the current state, one can then begin to analyse the process, looking for opportunites of redesign, waste, and value added activities (McGonigle & Mastrian, 2012). “The focus in any process is always on creating
Waterfall No. 1 Georgia O’Keefes painting Waterfall No.1 was one of three paintings she devoted to depict a waterfall near the Lao Valley in Hawaii. This one like the rest of them were all done on a white canvas with oil paints. The canvas came about when O’keefe visited Hawaii in 1939 and like the name suggests it is a depiction of a beautiful waterfall. This was new territory for O’keefe when she painted this, as she was most famous for depictions of the arid southwest. The lush tropical sights of Hawaii were a completely opposite compared to her previous pieces.
In the waterfall method, the steps have to be finished iterative, meaning the next step cannot be started until the previous step is completed. Once the current step is completed, then the next step can be started and so on. The customer does not get a working build during any of the steps and cannot make any changes in the scope at all. Once all steps are completed, the end result is given to the customer and then they can deploy and hope it does what they are needing it to do. If any of the steps need to be changed, then the whole process will need to be restarted from the beginning and the process began again. In agile methods, the process is more flexible. This method is flexible and can allow changes after each iteration. The goal of each iteration is to provide a working build so that the customer can give feedback on it and changes can be made, if needed, so that all requirements are met, or if requirements have changed since the initial build of the
The Systems Development Life Cycle (SDLC) consists of phases used in developing a piece of software. It is the plan of how to develop and maintain software, and when necessary, replace that software. In 2007 during my hospital’s transition to a new software system, I was fortunate enough to be included in the process. I did not get involved until the implementation phase, but from then on, until now, I remain very active in the process. I decided to highlight the Waterfall Model of SDLC. The Waterfall Model is a “sequential development process” with each phase continuing in a line (McGonigle and Mastrian, 2012, p. 205).
In this case study, the work breakdown structure is classified as a waterfall methodology where it is more rigid whereas eXtreme programming (XP) would be considered under the agile approach. The work breakdown structure (WBS) is a hierarchical structure that outlines tasks needed to deliver the product or service.
The system development life cycle, also know as the SDLC, is the process of designing and developing a system or software to meet certain requirements. (“System development life,”). This cycle involves many different phases, in which the system is planned, analyzed, designed, implemented, and tested. There are five major phases in the system development life cycle: systems planning, systems analysis, systems design, systems implementation, and systems security and support. Each of these phases has a particular responsibility and certain tasks are perfumed in each phase.
Most of the software development projects change just during the development is in process. This is the reason that agile methodology is best for these projects. There is a room for change in them. Software developers follow these methods and this is the reason that they have further modified these methods according to the different types of projects they confront in their development time.
Given the time, it takes to develop large sophisticated software systems it not possible to define the problem and build the solution in a single step. Requirements will often change throughout a projects development, due to architectural constraints, customer’s needs or a greater understanding of the original problem. Iteration allows greater understanding of a project through successive refinements and addresses a projects highest risk items at every stage of its lifecycle. Ideally each iteration ends up with an executable release – this helps reduce a projects risk profile, allows greater customer feedback and help developers stay focused.
As part of developing the need in the initial investigation step in the systems development life cycles (SDLC) process, a constructive method is use case. Use case is a technique for capturing requirements with written scenarios in non-technical terminology that describe how a system interacts with a user or another system (University of Phoenix, Course Syllabus, 2006). There are two fundamental pieces, along with how they relate, to bear in mind: the actors and the goals. The actors are everyone and everything that will use (or be used) by the project progress reports, and the goals, which are what the actors want to achieve. The use case will describe the goals achieved by the actors who perform tasks (Carr & Meehan, 2005).
Within the analysis phase a set of goals are needed within the domain. From this there are three perspectives which are taken; the object model the Ronald LeRoi Burback (1998) states “dynamic model, and a functional model. The object model represents the artifacts of the system. The dynamic model represents the interaction between these artifacts represented as events, states, and transitions. The functional model represents the methods of the system from the perspective of data flow.” After the analysis phase the system design phase takes place. Here the system is sub-categorized and appointed tasks and persistent data storage is established, also within this phase the architecture is formed. Lastly the object design phase starts and is where the implementation plan is established and algorithms and object classes are also
As more companies that are leading technology are transforming from the traditional waterfall development model to an Agile software methodology, requirements engineering provides a process for software engineers to understand the problems they need to solve (Martin, Newkirk, & Koss, 2014). It is of key importance to understand the customer 's wants and needs before beginning designing or building the computer-based solution, as developing a solution that ignores the customer’s needs provides value to none of the parties involved. Thus, the intent of requirements engineering is to produce a written understanding of the customer 's problem (Pressman, 2010). Work products that are available to communicate this understanding include user scenarios, function and feature lists, analysis models, and specifications. This paper provides an evaluation of requirement patterns, an assessment of problem solving techniques most effective, a descriptive explanation of the patterns that includes a visual taxonomy, and an explanation of how the patterns identified are related.
The rest of this chapter is organized as follows: Firstly, we introduce the origins and history of BPM in section 2.1. Secondly, we present a number of basic BPM concepts, definitions, and terminologies in section 2.2. Thirdly, we show the relation- ship between BPMS and other systems or applications, such as Enterprise Resource Planning (ERP), Groupware Systems or Computer Supported Cooperative Work (CSCW), and Workflow Management Systems (WfMS) in section