天天看點

系統分析與設計作業11.簡單題2.解釋 PSP 各項名額及技能要求

1.簡單題

  • 軟體工程的定義

       軟體工程是:

       1)将系統化、規範化、可度量的方法應用于軟體的開發、運作與維護的過程中,即将工程化應用于軟體中--采用工程的技術原理來開發和維護軟體,把各種證明正确或有用的方法應用于軟體開發中;

       2)對(1)中方法的研究。

  • 閱讀經典名著“人月神話”等資料,解釋software crisis、COCOMO模型

       software crisis:即軟體危機,是計算機軟體在它的開發和維護過程中所遇到的一系列嚴重問題,這些問題皆可能導緻軟體産品的壽命縮短、甚至夭折。軟體開發是一項高難度、高風險的活動,由于它的高失敗率,故有所謂“軟體危機”之說。概括地說,其主要包含兩方面的問題:如何開發軟體,怎樣滿足對軟體日益正常的需求;如何維護數量不斷膨脹的已有軟體。軟體危機的原因與軟體流程的整體複雜度以及軟體工程這領域的不成熟有關。

       COCOMO:構造性成本模型(英文全稱為ConstructiveCost Model)。它是一種精确、易于使用的,基于模型的成本估算方法,最早由Boehm于1981年提出。這種模型使用一種基本的回歸分析公式,使用從項目曆史和現狀中的某些特征作為參數來進行計算。這種模型由三個層次組成。第一層,“基本COCOMO”,适用對軟體開發進行快速、早期地對重要的方面進行粗略的成本估計,但因其缺少不同的項目屬性(“成本驅動者”)的因素,是以準确性有一定的局限性。“中級COCOMO”中考慮進了這些成本驅動者。“詳細COCOMO”加入了對不同軟體開發階段影響的考量。

  • 軟體生命周期

       指軟體的産生直到成熟的全部過程。生命周期是事物發展的客觀規律,軟體同樣存在生命周期。早期的軟體生命周期往往是說“軟體從計劃、需求開始,經曆分析設計、實作、部署、維護,直到最後逐漸消亡的”。這是受到了第一個軟體生命周期模型—瀑布模型[1]影響,上述語句實質上簡要的描述了瀑布型生命周期。現在的軟體生命周期不再隻考慮瀑布型生命周期,另外常見的軟體生命周期模型有原型模型、螺旋模型、疊代模型。是以現在的軟體生命周期說明應當不再包括瀑布型生命周期中的典型階段。

       是以,現在對軟體生命周期及軟體生命周期模型采用如下定義:

       1.軟體生命周期是指軟體的産生直到成熟的全部過程。

       2.軟體生命周期模型是指人們為開發更好的軟體而歸納總結的軟體生命周期的典型實踐參考。

  • 按照 SWEBok 的 KA 劃分,本課程關注哪些 KA或 知識領域?

    在SWEBOK(Software Engineering Body of Knowledge)中提到,軟體工程領域中的核心知識包括:

    軟體需求(Softwarerequirements)

    軟體設計(Software design)

    軟體建構(Softwareconstruction)

    軟體測試(Software test)

    軟體維護與更新(Softwaremaintenance)

    軟體構型管理(Software ConfigurationManagement, SCM)

    軟體工程管理(SoftwareEngineering Management)

    軟體開發過程(SoftwareDevelopment Process)

    軟體工程工具與方法(SoftwareEngineering Tools and methods)

    軟體品質(SoftwareQuality)

    而我認為本課程主要關注軟體需求、軟體設計、軟體工程管理、軟體工程開發過程、軟體品質。

  • 解釋 CMMI 的五個級别。例如:Level1 - Initial:無序,自發生産模式

    1. Level-1  Initial 無序級:軟體過程是無序的,有時甚至是混亂的,對過程幾乎沒有定義,成功取決于個人努力。管理是反應式的。

    2. Level-2 Managed 已管理級:建立了基本的項目管理過程來跟蹤費用、進度和功能特性。制定了必要的過程紀律,能重複早先類似應用項目取得的成功經驗。

    3. Level-3 Defined 已定義級:已将軟體管理和工程兩方面的過程文檔化、标準化,并綜合成該組織的标準軟體過程。所有項目均使用經準許、剪裁的标準軟體過程來開發和維護軟體,軟體産品的生産在整個軟體過程是可見的。

    4. Level-4 Quantitatively Managed量化地管理級:分析對軟體過程和産品品質的詳細度量資料,對軟體過程和産品都有定量的了解與控制。管理有一個作出結論的客觀依據,管理能夠在定量的範圍内預測性能。

    5. Level-5 Optimizing 優化管理級:過程的量化回報和先進的新思想、新技術促使過程持續不斷改進。

  • 用自己語言簡述SWEBok或CMMI

       CMMI全稱是Capability Maturity Model Integration,是能力成熟度內建模型,是由美國國防部首先提出,并于1994年與卡内基-梅隆大學和美國國防工業協會共同開發和研制的。CMMI是一套融合多學科的、可擴充的産品集合,其研制的目的是幫助軟體企業對軟體工程過程進行管理和改進,增強開發與改進能力,進而能按時地、不超預算地開發出高品質的軟體。

       CMMI的主要依據的是:如果集中精力、持續努力地去建立有效的軟體工程過程的基礎結構,不斷進行管理的實踐和過程的改進,就可以克服軟體開發中的困難。它提供了一個單一的內建化架構,進而消除了各個模型的不一緻性,減少了模型間的重複,增加透明度和了解。

2.解釋 PSP 各項名額及技能要求

  • Planning(計劃)

        Estimate(估計這個任務需要多少時間)

  • Development

        Analysis(分析需求)

        Design Spec(生成設計文檔)

        Design Review(設計複審(和同時稽核設計文檔))

        Coding Standard(代碼規範(為目前的開發指定合适的規範))

        Design(具體設計)

        Coding(具體編碼)

        Code Review(代碼複審)

        Test(測試,包括自我測試,修改代碼,送出修改)

  • RecordTime Spent(記錄時間花費)
  • Test Report(測試報告)
  • Size Measurement(計算工作量)
  • Postmortem(事後總結)
  • ProcessImprovement Plan(提出過程改進計劃)