Download Software Development LifeCycle Models and more Study Guides, Projects, Research Software Development Methodologies in PDF only on Docsity! Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 1 Contents Task 1 P1................................................................................................................................................ 3 Software Lifecycle Models: ................................................................................................................... 3 Iterative Models.................................................................................................................................. 3 Agile Model ................................................................................................................................... 4 Prototype model ............................................................................................................................. 6 Sequential models .............................................................................................................................. 8 Waterfall model ............................................................................................................................. 8 Spiral Model................................................................................................................................. 10 Task 2 P2.............................................................................................................................................. 13 Risk managed in Spiral Lifecycle Model: ........................................................................................ 13 Task 5 P3.............................................................................................................................................. 15 Feasibility Study ............................................................................................................................... 15 Purpose of Feasibility study ......................................................................................................... 15 Conclusion ....................................................................................................................................... 16 Task 6 P4.............................................................................................................................................. 17 Comparison ..................................................................................................................................... 17 Performance and efficiency ......................................................................................................... 17 Legacy system upgrade ................................................................................................................ 17 Automation .................................................................................................................................. 17 Conclusion: ..................................................................................................................................... 18 Task 10 P6............................................................................................................................................ 19 Tools and techniques ...................................................................................................................... 19 ER diagram .................................................................................................................................. 19 Data Collection Processes ............................................................................................................ 19 Data Flow Diagram ...................................................................................................................... 19 Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 2 Conclusion: ..................................................................................................................................... 20 Task 14 P7............................................................................................................................................ 21 User Requirements ......................................................................................................................... 21 Software Requirement ................................................................................................................... 21 Conclusion: ..................................................................................................................................... 21 Bibliography ........................................................................................................................................ 22 Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 5 The above figure is the graphical representation of the agile model. There are different phases in this model. They are: Planning Requirements Analysis Design Coding Testing First of all, in planning phase the team determines the time and scope of the project. Then they gather the requirements that are needed to complete the project. After that they go to the design phase where they design the look and type of the project. After that phase, they start to write the code to develop the project. After the project is complete, then they test the project before launching it in the market. Advantages and Disadvantages of Agile Model The agile method is very popular and used worldwide. There are some advantages of this model. They are as follow: • This model promotes teamwork and cross training. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 6 • In this model less, resources are required. • This method is also suitable for fixed or changing requirements • Little or no planning required. However, this model is not suitable for all and there are some disadvantages. They are: This method is not suitable for handling complex dependencies. There is more risk of sustainability, maintainability and extensibility. This method depends heavily on the customers, This method can be quite challenging. Prototype model This is another type of iterative process. “The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.” (Rouse, n.d.). This model always works the appropriate in the scenarios where not all of the project requirements are known before the time. It is an iterative, trial-and-error process. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 7 There is different process. They are: 1. First of all, the new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the departments or aspects of the existing system. 2. A preliminary design is created for the new system. 3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. 4. The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users. 5. The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed. 6. The second prototype is evaluated in the same manner as was the first prototype. 7. The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired. 8. The final system is constructed, based on the final prototype. 9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime. Advantages and Disadvantages of Prototype Model Even though this model is not popular as other model, it is used nevertheless. There are many advantages of this model. They are: In this model the users are actively involved in the development In this model, the errors can be detected much earlier. In this model Quicker user feedback is available leading to better solutions. In this model the Missing functionality can be identified easily Disadvantages: it may increase the complexity of the system as of the system may expand beyonf original plans. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 10 Use cases for the Waterfall SDLC model: The requirements are precisely documented Product definition is stable The technologies stack is predefined which makes it not dynamic No ambiguous requirements The project is short Spiral Model Spiral model — is SDLC model, which combines architecture and prototyping by stages. It is a combination of the Iterative and Waterfall SDLC models with the significant accent on the risk analysis. The main issue of the spiral model — is defining the right moment to make a step into the next stage. The preliminary set time frames are recommended as the solution to this issue. The shift to the next stage is done according to the plan, even if the work on the previous stage isn’t done yet. The plan is introduced basing on the statistic data, received during the previous projects even from the personal developer’s experience. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 11 1. Identification In the first phase the requirements are identified and collected. The planning is carried out before developing the project. The requirements are chosen carefully. After that the project is designed. 2. Design This is the second phase. All the gathered data and requirements are studied and then designed. 3. Construction or build In this phase the project is constructed. The design is studied carefully and it is implemented carefully. 4. Evaluation and Risk analysis In this phase the risks are identified. After the risks are identified, then the solutions are gathered to immediately solve the risks. And the project is evaluated and studied in this phase so that it can run smoothly. The advantages are: In this model the requirements can be changed. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 12 This model allows the extensive use of prototypes. Requirements can be captured more accurately. Users see the system early. Development can be divided into smaller parts and the risky parts can be developed earlier which helps in better risk management. Disadvantages are: Management is more complex. End of the project may not be known early. Process is complex. Spiral may go on indefinitely and large number of intermediate stages requires excessive documentation. Use cases for the Spiral model Customer isn’t sure about the requirements Major edits are expected during the development cycle The projects with mid or high-level risk, where it is important to prevent these risks The new product that should be released in a few stages to have enough of clients feedback Conclusion Hence, System Development Life Cycle is explained in this task. Also this tasks describes the two different system development life cycle model considering two iterative and sequential model with their advantages, disadvantages and the uses. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 15 Task 5 P3 Explain the purpose of a feasibility study. Feasibility Study A Feasibility study is the preliminary stage for developing any software. “A feasibility study is an analysis used in measuring the ability and likelihood to complete a project successfully including all relevant factors. It must account for factors that affect it such as economic, technological, legal and scheduling factors. Project managers use feasibility studies to determine potential positive and negative outcomes of a project before investing a considerable amount of time and money into it.” (Anon., n.d.). So, from the above definition we can say that the feasibility study is very important to complete any project. It helps to make the project complete and successful. As defined above, a feasibility study helps to determine the viability of an idea, such as ensuring a project is legally and technically feasible as well as economically justifiable. It also can be used in our day to day life. It tells us whether a project is worth the investment or not. Purpose of Feasibility study There are many purposes of conducting a feasibility study and report. It is the most important part to complete a project for any individual or corporation. The purpose behind a project feasibility study is to gather information and to know the different variables involved with your business venture. And it also helps to understand the market acceptance. We can find hundreds of purposes of feasibility study and report. But some of the main purposes are as follows: 1. Study of Market The market study is essential in today’s day and age. The feasibility study and the report will help the individual and the organization to study the market supply and demand and thus they it will launch their project in the market after studying its result and its impact in the market. Thus, feasibility study helps to determine whether the product is needed in the market or not. 2. To find alternative solutions The feasibility study main purpose is also to find different solutions to a same problem. There can be many ways to solve a problem and with the help of feasibility study, we can find different alternative solutions to solve it. Thus, it is an important purpose. 3. Customer’s Needs One of the main purposes of the feasibility study is to fulfill the needs of the customers. The Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 16 feasibility study determines the customers’ needs and demands and incorporates them into the completion of the project. The different needs and ideas of the customers are considered by the feasibility study report and those are presented in the report to fulfill them smoothly. Thus, it is an important purpose of it. 4. Management Study Another important purpose of the feasibility study is to study of the management. Managing different resources can be tedious. There are so many resources and tasks that need to be done to develop a project. The feasibility study helps to manage them easily. Conclusion Thus, Feasibility study is an important aspect in preliminary stage of developing the system. The preparation of feasibility report before doing any work in a project helps the project so the feasibility always be carried out. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 17 Task 6 P4 Describe how technical solutions can be compared. Purpose of technical solution “The purpose of Technical Solution (TS) (CMMI-DEV) is to select, design, and implement solutions to requirements. Solutions, designs, and implementations encompass products, product components, and product related lifecycle processes either singly or in combination as appropriate.” (Anon., n.d.). So, we can see that the technical solutions are used in different process such as the designing or implementing the product. Comparison The technical solutions can be compared by different methods and approaches. Some of the key words and terms which is used to compare the different technical solutions are as follows: Performance and efficiency The terms performance and efficiency may sound similar but they have some distinct features. Legacy system upgrade The term legacy has a technical definition. In computing, a legacy system is an old method, technology, computer system, or application program, “of, relating to, or being a previous or outdated computer system." Often a pejorative term, referencing a system as "legacy" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement. The Legacy system is a system which is no longer supported by the manufacturer or which is available for its purchase. The legacy system is used to compare the different terms and solutions. Automation “Automation is the creation of technology and its application in order to control and monitor the production and delivery of various goods and services. It performs tasks that were previously performed by humans. Automation is being used in a number of areas such as manufacturing, transport, utilities, defense, facilities, operations and lately, information technology.” (Anon., n.d.) The automation can be performed differently. In the IT domain, automation can be used to test a software product and it is also used to produce a report. In the IT sector the impact of automation is Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 20 one. By researching and studying the data flow diagram, different data relations can be found and which can be used to investigate a software Conclusion: Hence, I have mentioned some of the tools and techniques like ER diagram, data flow diagram and data collection process which can be used to carry out a software investigation and creating some supporting documents. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 21 Task 14 P7 Explain how user and software requirements have been addressed. Introduction: In this task, I am going to address and describe the user and the software requirements. User Requirements The User Requirements Documentation or User Requirement Specification describes the business needs for what users require from the system. User Requirements Specifications are written early in the validation process, typically before the system is created. They are written by the system owner and end-users, with input from Quality Assurance. Requirements outlined in the URS are usually tested in the Performance Qualification or User Acceptance Testing. User Requirements Specifications are not intended to be a technical document; readers with only a general knowledge of the system should be able to understand the requirements outlined in the URS. The URD have many purposes and it can be used as a guide for the planning, testing etc. Creating a URD is necessary for technical and economical purposes. Software Requirement A software requirements specification is a document that describes requirements for a software product, program or set of programs. Requirements in the software requirements specification are expressed in normal language and are not concerned with technical implementation. That’s what the design documents are for. In software development, the software requirements specification represents the results of the requirements analysis and describes the requirements of the software under development. The software requirements usually specific the document lists in sufficient and necessary requirements for the project development. Conclusion: Thus, I have discussed and explained the user and software requirements. The user and software requirements are most essential in developing a project. Software Development LifeCycle 2018 Ayush Malla (HND / Second Semester) 22 Bibliography Anon., n.d. [Online] Available at: https://www.tutorialspoint.com/sdlc/sdlc_iterative_model.htm Anon., n.d. [Online] Available at: https://www.investopedia.com/terms/f/feasibility-study.asp Anon., n.d. Techopedia. [Online] Available at: https://www.techopedia.com/definition/22193/software-development-life-cycle-sdlc [Accessed 16 May 2018]. Anon., n.d. Techopedia. [Online] Available at: https://www.techopedia.com/definition/20387/software-life-cycle [Accessed 1 September 2018]. Rouse, M., n.d. [Online] Available at: https://searchcio.techtarget.com/definition/Prototyping-Model tutorialspoint, n.d. [Online] Available at: https://www.tutorialspoint.com/sdlc/sdlc_overview.htm [Accessed 16 9 2018].