軟體危機是指計算機軟體的開發和維護過程中所遇到的一系列的嚴重問題。
概括的說軟體危機包含下述兩方面的問題:
1. 如何開發軟體,以滿足對軟體日益增長的需求
2. 如何維護數量不斷膨脹的已有軟體
具體的來說軟體危機有一下具體的七個表現:
1. 對軟體開發成本和進度的估計常常很不準確
2. 使用者對」已完成的」軟體系統不滿意的現象經常發生
3. 軟體質量往往不可靠
4. 軟體常常是不可維護的
5. 軟體通常沒有適當的文件材料
6. 軟體成本在計算機系統總成本中所佔比例追念上公升
7. 軟體開發生產率提高的速度遠遠跟不上計算機應用迅速普及深入的趨勢
概念:軟體工程是指導計算機軟體開發
和維護
的一門工程學科.
作用:採用工程的概念,原理,技術,和方法來開發和維護軟體,把經過實踐考驗而證明正確的管理技術
和當前能夠得到最好的技術方法
結合起來,以經濟地開發出高質量的軟體並有效的維護它。
目標:在給定成本、進度的前提下,開發出具有適用性
、有效性
、可修改性
、可靠性
、可理解性
、可維護性
、可重用性
、可移植性
、可追蹤性
、可互操作性
和滿足使用者需求
的軟體產品。追求這些目標有助於提高軟體產品的質量和開發效率,減少維護的困難。
1) 付出較低的開發成本;
2)達到要求的軟體功能;
3)取得較好的軟體效能;
4)開發的軟體易於移植;
5)需要較低的維護費用;
6)能 按時完成開發任務,及時交付使用;
7)開發的軟體可靠性高
產生:面臨著軟體危機,具體有:
1. 軟體費用
2. 軟體可靠性
3. 軟體維護
4. 軟體生產率
5. 軟體重用
定義:
軟體工程方法學包括三個要素:方法
,工具
,過程
方法
是完成軟體開發的各項任務的技術方法
工具
是為運用方法提供的自動或半自動的軟體工程支撐環境
過程
是為了獲得高質量的軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟
①傳統方法學
特點:將全部過程劃分為若干個階段,然後在按照順序完成
②物件導向方法學
把資料和行為看得同等重要,他是一種以資料為主線,把資料和對資料的操作緊密結合起來的方法。強調主動地多次反覆迭代
軟體生命週期有軟體定義,軟體開發,執行維護這三個時期
八個階段:問題定義,可行性研究,需求分析,總體設計,詳細設計,編碼和單元測試,綜合測試,軟體維護
☞瀑布模型:文件驅動、線性迭代、一次交付
☞快速原型:需求驅動、快速構建、邊用邊改
☞增量模型:構件驅動、逐步構建、分批交付
☞螺旋模型:風險驅動
☞噴泉模型:物件導向模型、階段重疊
核心工作流
rup中有9個核心工作流,前六個位核心過程工作流程,後三個為核心支援工作流程
工作階段
rup迭代式開發
☞敏捷過程(四點宣言)
1. 個體和互動勝過過程和工具
2. 可以工作的軟體勝過面面俱到的文件
3. 客戶合作勝過合同談判
4. 響應變化勝過遵循計畫
☞極限程式設計
概念:極限程式設計是乙個輕量級的、靈巧的軟體開發方法,是一種控制開發過程的思想,不是定義乙個具體的開發流程。
基線程式設計的有效實踐
極限程式設計的整體開發過程
極限程式設計的迭代過程
敏捷過程能夠較好的適應商業競爭環境下對小型專案提出的有限資源的有限開發時間的約束。
軟體工程 軟體工程概述
一.軟體 定義 計算機系統中的程式及其文件 程式 計算任務的處理物件和處理規則的描述 文件 為了便於了解程式所需的闡明性資料 特點 軟體的種類 按功能劃分 系統軟體 支援軟體 應用軟體 二.軟體工程的起源和概念 早期電腦程式 現在人們認為 在資訊產業中,微電子是基礎,計算機和網路是載體,軟體是核心 ...
軟體工程 軟體工程的概述
軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考 驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,它涉及到程式語言 資料庫 軟體 開發工具 系統平台 標準 設計模式等方面。先從軟體工程的第一章開始說起 軟體工程的概述,這一章是...
軟體工程 概述
把軟體開發工程化,科學化,現代化 軟體工程適用於大型軟體開發 開發軟體所需要的高成本同產品的低質量之間有 著尖銳的矛盾,叫做軟體危機 crisis 桌面程式乙個人構思了編就行了,但是企業程式 就不那麼簡單了 桌面程式的特點是一般寧願丟掉它重寫 而企業程式耗費太大,一般總是在原來基礎上進行 修改,這對...