|
In software engineering, a project lifecycle models how a project is planned, controlled and monitored from its inception to its completion. In the earliest stages, and in the last stages, of the lifecycle, software architecture, requirements, and system definition is an issue: Wikipedia does not have an article with this exact name. ...
It has been suggested that Software development life cycle be merged into this article or section. ...
Software engineering is the profession that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields. ...
An abstract model (or conceptual model) is a theoretical construct that represents physical, biological or social processes, with a set of variables and a set of logical and quantitative relationships between them. ...
Software architecture is a coherent set of abstract patterns guiding the design of each aspect of a larger software system. ...
A requirement is a singular documented need of what a particular product should be or do. ...
- What is the market for the system/software?
- What is the competition?
- What is the platform of the system/software?
- How much time is available to the project?
- How many skill-sets are needed?
Over the years, a number of different models have been developed, beginning with the oldest and simplest being the Waterfall Model. However, as software has become larger and more complex, this method of development has been found to be counter productive, especially when large teams are involved. Models that are iterative have evolved including Prototyping, Evolutionary Prototyping, Incremental Development, spiral model, V model, and Chaos model. The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ...
Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of the design, illustrate ideas or features and gather early user feedback. ...
Must be used for systems where the specification cannot be developed in advance e. ...
Iterative and Incremental development is a software development process, as opposed to more traditional waterfall model. ...
The spiral model is a development model combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ...
The V-model was developed to regulate the software development process within the German federal administration. ...
In computing, the Chaos model is a structure of software development that extends the spiral model and waterfall model. ...
The use of these models was for the most part confined to the overall management of the project, however projects are now considered better controlled if the model best suited to them controls the individual aspects of the project. For example, a project may be managed using the Incremental Development model, but during each increment the Documentation is created managed using the Waterfall Model and the Code development managed using the 'V' model. The waterfall model is a software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ...
The level of formality and complexity of the lifecycle for each project is constrained by any number of factors, including budgetary constraints, experience and size and complexity of the project and development team. Some experienced and highly respected project leaders and programmers consider rigid application of lifecycle plans to be a theory that does not work well in practice. Linus Torvalds, the very highly regarded project leader of the Linux kernel, made the following statement on the Linux kernel mailing list: Linus Torvalds Linus Benedict Torvalds (born December 28, 1969 in Helsinki, Finland) is a Finnish software engineer best known for initiating the development of Linux. ...
The Linux mascot Tux created by Larry Ewing Wikibooks has more about this subject: Linux kernel Wikibooks has more about this subject: Inside Linux Kernel The Linux kernel is a free software Unix-like operating system kernel that was begun by Linus Torvalds in 1991 and subsequently improved with the...
- No major software project that has been successful in a general marketplace (as opposed to niches) has ever gone through those nice lifecycles they tell you about in CompSci classes.
- Source: Google Groups archive of fa.linux.kernel discussion
ISO 12207 is a standard that was developed to describe the method of selecting, implementing and monitoring a lifecycle for a project.
See also |