軟體開發方法

作品

書籍

課程

程式集

小說集

論文集

散文集

影片集

編輯雜誌

程式人

電子書

JavaScript

計算語言學

微積分

Blender 動畫

C# 語言

系統程式

高等 C 語言

Java

Android

Verilog

Wikidot

R 統計軟體

機率統計

計算機數學

組合語言

人工智慧

開放原始碼

網路資源運用

計算機結構

相關訊息

常用工具

友站連結

在家教育

RSS

最新修改

網頁列表

簡體版

English

Code and Fix Model

  • write some code
  • Fix the problem in the code
  • Difficulties :
    1. after a number of fixes the code became so poorly structured that subsequent fixes were very expensive. This underscored the need for a design phase prior to coding.
    2. Frequently, even well-defined software was such a poor match to user's needs that it was either rejected outright or expensively redeveloped. This made the need for a requirements phase prior to design evident.
    3. Code was expensive to fix because of poor preparation for testing and modification. This made it clear that explicit recognition of these phase, as well as test-and-evolution planning and preparation tasks in the early phases, were needed.

Waterfall Model

  • 精神: document driven
  • 優點:
    1. Recognition of the feedback loops between stages, and a guideline to confine the feedback loops to successive stages to minimize the expensive rework involved in feedback across many stages.
    2. An initial incorporation of prototyping in the software life cycle, via a "build it twice" step running in parallel with requirements analysis and design.
  • 缺點:
    1. 對 OS, Compiler 等需求明確的系統很有效, 但對 interactive end-user applications 很不適用.

Transform model

  1. formal specification of the best initial understanding of the desired product
  2. automatic transformation of the specification into code
  3. an iterative loop, if necessary, to improve the performance of the resulting code by giving optimization guidance to the transformation system
  4. exercise of the resulting product
  5. an outer iterative loop to adjust the specification based on the resulting operational experience, and to rederive, reoptimize, and exercise the adjusted software product.

Spiral Model

  • 精神 : Risk oriented ( accommodate specification-oriented, prototype-oriented, simulation-oriented.)
  • The typical cycle of the spiral.
    • 1. Determine objectives, alternatives, constraints.
      • Objectives : performance, functionality, ability to accommodate change, etc.
      • Alternative : design A, design B, reuse, buy, etc.
      • Constraint : cost, schedule, interface, etc.
    • 2. Evaluate alternatives, identify, resolve risks.
      • Identify : area of uncertainty that are significant sources of project risk.
      • Resolve risk : formulate a cost-effective strategy for resolving the sources of risk (prototyping, simulation, benchmarking, reference checking, administering user questionnaire, analytic modeling, or combination of these and other risk resolution technique.)
    • 3. Develop, verify next-level product : Follow waterfall approach.
    • 4. Plan next phases
    • 5. Review, Commitment partition.

附錄:

A prioritized top-ten list of software risk items.

Risk Item Risk management techniques
Personnel shortfalls Staffing with top talent, job matching; teambuilding; morale building; cross-training; pre-scheduling key people.
Unrealistic schedules and budgets Detailed, multisource cost and schedule estimation; destng to cost; incremental development; software reuse; requirements scrubbing
Developing wrong software function Organization analysis; mission analysis; ops-concept formulation; user surveys; prototyping; early users' manual
Developing the wrong user interface Task analysis; prototyping; scenarios; user characterization (functionality, style, workload)
Gold plating Requirements scrubbing; prototyping; cost-benefit analysis; design to cost
Continuing stream of requirement changes High change threshold; information hiding; incremental development (defer changes to later increments)
Shortfalls in externally furnished components Benchmarking; inspections; reference checking; compatibility analysis.
Shortfalls in externally performed tasks Reference checking; pre-award audits; award-fee contracts; competitive design or prototyping; teambuilding
Real-time performance shortfalls Simulation; benchmarking; modeling; prototyping; instrumentation; tuning
Straining computer-science capabilities Technical analysis; cost-benefit analysis; prototyping; reference checking

Software Risk Management Plan

  1. Identify the project's top 10 risk items
  2. Present a plan for resolving each risk item
  3. Update list of top risk items, plan, and results monthly
  4. Highlight risk-item status in monthly project reviews (Compare with previous month's rankings, status.)
  5. Initiate appropriate corrective actions.

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License