Click me
Transcribed

The Software Development Life Cycle

THE SOFTWARE DEVELOPMENT LIFE-CYCLE SOFTWARE IS THE MOST COMPLEX UNDERTAKING EVER ATTEMPTED BY THE HUMAN RACE. -- LARRY PUTNAM PROJECT MANAGERS AND SOFTWARE ENGINEERS EMPLOY VARIOUS METHODOLOGIES TO ENSURE THAT QUALITY SOFTWARE PRODUCTS ARE CREATED EFFECTIVELY AND EFFICIENTLY, AND THAT THEY MEET THE END-USER'S NEEDS AS BEST AS POSSIBLE WITHIN THE TIME, SCOPE, AND BUDGET PARAMETERS OF THE PROJECT. Project management allows software projects to be delivered on-time and on-budget. The Software development activities are Testing (An integral and supremely important software development phase, this process ensures that defects are recognized a.s.a.p. and the resulting software is reasonably bug-free.) Deployment (After the software has been tested and approved for release, deployment might entail installation, customization (like setting parameters for the customer after installation), training on using the software, and there is sometimes an extended Maintenance (Primarily, this involves receiving user feedback and making improvements to the design or the code of the software. It could also include consultation, re-installation, and possibly some training.) period of evaluation.) Documenting (This is done for the purpose of future maintenance and enhancement throughout development.) Implementation (The part of the process where software engineers actually program the code.) Planning (Gathering requirements for the software and analyzing the scope of the development.) The Software Development Models A software development model is a process by which the creation of complex software is achieved through a systematic approach. There are a variety of software development life-cycles, but there are several main ones that remain most prevalent. Many methodologies can be adapted and combined to suit the project at hand. The most common methodology frameworks There are several common models you can use to streamline the software development process. Since there are always pros and cons, the development team is responsible for utilizing the methodology most appropriate for their project. Sometimes combinations of the models work best !!! WATERFALL MODEL The waterfall model is a commonly employed model by itself or in conjunction with other methodologies. The main idea in a Waterfall model is to adhere to the order of procedures, completing one before progressing to the next. Key principles of the WATERFALL METHODOLOGY are... Analyzing the software specifications and requirements. Maintenance, revisions, and « updates. Designing the function of the software as well as the user interface. Deployment (or Installation.) Implementing and integrating the software. Testing the software for bugs and glitches. Requirements Design Implementation Verification Maintenance SPIRAL MODEL IN THIS MODEL, THE DEVELOPER OR PROJECT MANAGER COMPLETES CIRCLES AROUND 4 QUADRANTS OF IMPORTANCE. THIS MODEL IS OFTEN UTILIZED ALONG WITH OTHER MODELS TO GET THE BEST RESULTS. THE SPIRAL MODEL FOCUSES ON RISK MINIMIZING ASSESSMENT- PROJECT RISK EACH TRIP AROUND THE SPIRAL TAKES YOU THROUGH 4 SEPARATE OBJECTIVES OF THE DEVELOPMENT PHASES. IN THIS WAY, IT IS SIMILAR TO AN ITERATIVE DEVELOPMENT MODEL WHERE GOALS ARE BROKEN DOWN AND TACKLED INCREMENTALLY, FOCUSING COMPLETELY ON EACH TASK AT A TIME. The first step is determining your objectives, considering viable alternatives, and becoming 01 familiar with the constraints of the iteration 02 Next, the professional will evaluate their alternatives, and identify and resolve risks. 03 Third is developing and verifying deliverables from the iteration. 04 Lastly, there is the step of planning your next iteration so you can continue the cycle. USING THE SPIRAL METHOD IS GREAT FOR BREAKING DOWN PROJECTS INTO THEIR INDIVIDUAL TASKS BECAUSE THAT IS BENEFICIAL FOR WORKING WITHIN THE CONSTRAINTS OF TIME, SCOPE, AND BUDGET WHEN DEVELOPING COMPLEX PROJECTS. Analysis Evaluation Planning Development The spiral model is a “meta-model," and can be implemented within other methodologies. Requirements Planning Analysis & Design Initial Implementation Planning Deployment Evaluation Testing Perhaps you are also familiar with the Iterative and Incremental Software Methodology from constantly having to download updates for Windows, Adobe, and iTunes... Software functionality and features Planning Construction (code, test) Modeling (analysis,design) Deployment (delivery, feedback) Communication Increment #n Delivery of 3rd increment Increment #2 Delivery of 2nd increment Increment #1 Delivery of 1st increment Project Calender Time This is a model that can be used in conjunction with other methodologies such as the Agile Model. ITERATIVE & INCREMENTAL MODEL The basic idea behind this method... To develop a system through repeated cycles... (iterative) and in smaller portions at a time... (incremental) This methodology is an evolution of the Waterfall Model, combined with elements of the Prototype Model. The series of software releases are known as "increments." Each increment is intended to provide more functionality to the users of the program This model lets software developers learn from development of earlier versions to improve new versions. After the first increment, a customer can use the software and provide initial feedback for the 2nd iteration, similar to the prototyping methodology. The process continues until the product is absolutely useful and functional. Maybe you are familiar with software having versions like "3.1", where there has been an incremental improvement distinguishing it from their"3.0" version... Gather Requiremen Quick Design Build Prototype Refine Phototype Evaluate Product Many software prototypes are expected to be discarded from inception, but in some cases the prototype evolves into a working system through iteration and incremental development. PROTOTYPE MODEL Software prototyping is the building of an incomplete version of the software as a proof-of-concept or as a starting point. While it isn't a complete standalone development methodology, it is a useful approach to handle selected parts of a broader traditional method and is often incorporated into other methodologies. Prototyping model principles include 01 Reducing inherent project risk by compartmentalizing projects into segments and allowing easy alteration of the program while in the development process. The user is involved throughout the development which improves the likelihood of customer satisfaction in the E 02 end. Small-scale mock-ups of the system are developed following an iterative modification process until the prototype evolves to meet the users'requirements. 03 Requirements Planning User Design Construction Cutover CUMMULATIVE. COst PROGRESS CETERMNE CeECTIVES ALTERNATVES EVALUATE ALTERNATIVES CENTY RESOLVE RISKS STEPS CONSTRANTS RISK ANALYSIS RISKANALYSIS RISK ANALYSIS OPERATIONAL PROTOTYPE COMMITMENT RISK ANAL orore. PARTTION otootorE TYPE REVEW- -- ULATIONS ROTS PLAN MODELS UIFE CYCLE CONCEPT O PLAN BENCHMARKS OPERATION sorTARE ROTS SOFTWARE DETALED DESGN DEVELO MENT PLAN REGUREMENTS VALIDATION PRODUCT DEMON coce NTEGRATION DEON VALICATION AND VERFICATION UNIT TEST NTEGRA SHON AND TEST PLAN NEXT PHASES IACCEPT. PLEMEN ANCE TEST TATION CEVELOP, VERrY NEXT LEVEL PROOUCT User interaction is critical for rapid development. RAPID APPLICATION DEVELOPMENT METHODOLOGY Rapid application development (RAD) is a software development methodology which involves iterative development and the construction of prototypes. Key objective fast development and delivery of a high quality system at a relatively low investment cost. The basic principles of RAD Reduces project risk by breaking a project into smaller seg- ments which helps making changes easier during the proces.. Aims to produce high quality systems quickly via iterative Prototyping and active user involvement. Prioritizes the development process and defines delivery deadlines, called “timeboxes". If the project is not running on-time, the scope is reduced instead of extending the deadline.. The iteration results in useful and productive software, verses throwaway prototypes. Produces necessary documentation future development and maintenance is easier. This framework allows standard systems analysis and various design methods to be integrated. Code-and-fix "Code and fix" development is not so much a method or strategy exactly, but is often a result of poor project management and a tight schedule with impending deadlines, putting extra pressure on the software developers... Basically, programmers just start immediately writing code, and eventually testing begins later in the development cycle. This is a haphazard method of writing software and produces software that is more likely to have bugs and glitches in it... Requirements Architecture & Test & Feedback Design Development Agile development Face-to-face conversation is the best form of communication Customer satisfaction by rapid delivery of useful software.. (co-location). Welcome changing requirements, even late in development. Projects are built around motivated individuals, who should be trusted... Working software is delivered frequently (weeks rather than months). Continuous attention to technical excellence The Agile Manifesto is and good design. Working software is the principal measure of progress. based on 12 principles Simplicity-the art of maximizing the amount of work not done-is essential.. Sustainable development, Self-organizing teams. able to maintain a constant pace... Close, daily cooperation between business people and developers. Regular adaptation to changing circumstances.. "All the projects developed by the Oxagile Company during its cooperation with Gdeetotdom.ru were implemented using Agile methodology (the methodology of quick software development), which allowed development to be 30-40% less time-consuming." --Ryzhkov Sergey, Project Director at Gdeetotdom.ru Itd gagile offers... Custom Mobile Web Application Development Software Application Development Development ...and more! "Oxagile specialists demonstrated high professionalism, accuracy, and efficiency in performing tasks. The Oxagile team not only offered innovative technical solutions, but also showed creativity in program development. Company managers demonstrateda high degree of client-centeredness, constructive approaches, and responsibility." --Ryzhkov Sergey, Project Director at Gdeetotdom.ru Itd Get started with a remarkable project development team at Oxagile.com Sources: http://en.wikipedia.org/wiki/Software_development_process http://en.wikipedia.org/wiki/Software_development_methodology https://airbrake.io/blog/insight/what-is-the-software-development-life-cycle http://istqbexamcertification.com/what-are-the-software-development-life-cycle-phases/ http://www.computerworld.com/s/article/71151/System_Development_Life_Cycle http://en.wikipedia.org/wiki/Incremental_build_model https://cio.gov/software-development-life-cycle/ http://en.wikipedia.org/wiki/User:DSParillo/Drafts/Software_development_process_models

The Software Development Life Cycle

shared by w3webhelp on Mar 05
426 views
1 shares
2 comments
Project managers and software engineers employ various methodologies to ensure that quality software products are created both effectively and efficiently, and additionally meet the end-user’s needs...

Category

Technology
Did you work on this visual? Claim credit!

Get a Quote

Embed Code

For hosted site:

Click the code to copy

For wordpress.com:

Click the code to copy
Customize size