官术网_书友最值得收藏!

The Software Development Life Cycle

All software development, Python or otherwise, above a certain level of complexity follows repeatable patterns, or has a life cycle. A Software (or System) Development Life-Cycle (SDLC) might be used as its own distinct development methodology, providing a set of tasks and activities that apply to the development process. That is, even if there is no formal process wrapped around an SDLC, any or all of the activities that go on through one may still take place, and any or all of the artifacts that come out of them may be available during the development of a project.

From the perspective of the actual development, not all of the artifacts resulting from an SDLC, formal or otherwise, may be significantly useful, either, particularly those coming out of the first few phases of the life cycle's process. Even so, the more knowledge that is available during the development process, the less likely it is that development efforts will go in directions that run contrary to the intentions of the system on a longer-term basis.

In order to fully explore what an SDLC might provide, we'll use one of the more detailed ones that can be found on the internet. It breaks the life cycle down into ten phases, which would be executed in the following order, barring process alterations from a development methodology:

  • Initial concept/vision
  • Concept development
  • Project management planning
  • Requirements analysis and definition
  • System architecture and design
  • Development (writing code) and quality assurance
  • System integration, testing, and acceptance
  • Implementation/installation/distribution
  • Operations/use and maintenance
  • Decommissioning
Many of these individual phases can be merged together, or might be broken out into smaller sub-phases, but this breakdown—these ten phases—is a useful grouping of similar activities with similar scopes.

The first three phases may all occur before any code is written, defining the high-level concepts and goals, and planning for how to accomplish those goals. The last three generally happen after code is complete, though as new features are thought of, or as bugs surface, code development may restart to address those items. The balance, phases 4 through 7, are loosely classifiable as during development, though, except for the actual writing of code in phase 6, that classification may depend on what development processes or methodologies are in play, something that is likely decided during phase 3 if it isn't already determined by external policies or forces.

Different software development methodologies (Agile ones in particular) may well address these in more of an on-demand manner, grouping phase activities iteration by iteration, story by story, or out of the sequence they are listed in here. A deeper exploration of these variations can be found in Chapter 4Methodologies, Paradigms, and Practices.
主站蜘蛛池模板: 七台河市| 彭泽县| 凭祥市| 奉化市| 陆川县| 南京市| 田林县| 开鲁县| 汉源县| 安陆市| 惠州市| 云梦县| 东台市| 南岸区| 岳池县| 慈利县| 桐梓县| 逊克县| 万全县| 安陆市| 会泽县| 恭城| 农安县| 黄梅县| 富宁县| 天台县| 正阳县| 长寿区| 资源县| 永顺县| 珠海市| 宁阳县| 康平县| 红桥区| 两当县| 迁西县| 石景山区| 浦江县| 武山县| 库车县| 康乐县|