Thursday, October 24, 2019

Software Development Life Cycle

SOFTWARE DEVELOPMENT LIFE CYCLE SUMMARY SOFTWARE DEVELOPMENT LIFE CYCLE is basically a framework which describes the activities performed at each stage of a software development Project. These activities involve stages like the requirements, design, implementation, testing, installation and maintenance. In the information technology industry, SDLC plays a big role. No software development process will ever be completed efficiently and also meeting the budget client requirements without SDLC. This is because SDLC involves a structural framework which describes the phases involved in information system development. SDLC in management is an important factor which needs to be taken into consideration if you want a software development project to be resounding success. The phases of SDLC can vary somewhat but generally include the following: Conceptualization Requirements and cost/benefits analysis Detailed specification of the software requirements Software design Programming Testing User and technical training; and Maintenance The following are some basic popular models that are adopted by many software development firms System Development Life Cycle (SDLC) Model Prototyping Model Rapid Application Development Model Component Assembly Model As part of my research project I would be studying the core principles of SDLC. I would also perform research on available SDLC models in the information technology industry. System Development Life Cycle (SDLC) Model This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall Method. This model has the following. Most software teams still use a waterfall process for development projects. Taking an extreme waterfall approach means that you complete a number of phases in a strictly ordered sequence: requirements analysis, design, implementation/integration, and then testingg activities. 1. System/Information Engineering and Modeling As software is always of a large system (or business), work begins by establishing the requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when the software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system. 2. Software Requirement Analysis This process is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, target dates etc†¦. The requirement gathering process is intensified and focussed specially on software. To understand the nature of the program(s) to be built, the system engineer or â€Å"Analyst† must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved . 3. System Analysis and Design In this phase, the software development process, the software's overall structure and its nuances are defined. In terms of the client/server technology, the number of tiers needed for the package architecture, the database design, the data structure design etc†¦ are all defined in this phase. A software development model is thus created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase. 4. Code Generation The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like compilers, interpreters, debuggers etc†¦ are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen. 5. Testing Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile methods have much in common with the â€Å"Rapid Application Development† techniqu

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.