background preloader

Computer - Science

Facebook Twitter

Free Programming and Computer Science Books. Slightly skeptical) Open Source Software Educational Society. Slightly skeptical) Open Source Software Educational Society. The Pragmatic Bookshelf. Software development methodology. A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Common methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, and extreme programming. A methodology can also include aspects of the development environment (i.e. IDEs), model-based development, computer aided software development, and the utilization of particular frameworks (i.e. programming libraries or other tools).

History[edit] The software development methodology (also known as SDM) framework didn't emerge until the 1960s. As a framework[edit] The three basic approaches applied to software development methodology frameworks. A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses. As an approach[edit] 1970s 1980s 1990s Approaches[edit] Best Coding Practices. Coding best practices are a set of informal rules that the software development community employ to help improve the quality of software.[1] Many computer programs remain in use for long periods of time,[2] so any rules need to facilitate both initial development and subsequent maintenance and enhancement by people other than the original authors.

In Ninety-ninety rule, Tom Cargill is credited with an explanation as to why programming projects often run late: "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. " Any guidance which can redress this lack of foresight is worth considering. The size of a project or program has a significant effect on error rates, programmer productivity, and the amount of management needed.[3] Software quality[edit] As listed below, there are many attributes associated with good software.

Prerequisites[edit] how is development structured? Life cycle[edit]