學習高校課程-軟體工程-軟體工程(ch2)

Mephostopheles發表於2024-09-18

2.1 DEFINING THE DISCIPLINE

definition for software engineering
軟體工程的定義

(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
(1)應用系統的、規範的、可量化的方法來開發、執行和維護軟體;即工程在軟體上的應用。

(2) The study of approaches as in (1)
(2) 研究(1)中的方法。

Software engineering is a layered technology
軟體工程的層次:

  • The bedrock that supports software engineering is a quality focus.
    支援軟體工程的基石是質量焦點

  • The foundation for software engineering is the process layer.
    軟體工程的基礎是過程層

  • Software engineering methods provide the technical how-to’s for building software.
    軟體工程方法提供了構建軟體的技術指南

  • Software engineering tools provide automated or semi-automated support for the process and the methods
    軟體工程工具為過程和方法提供自動化或半自動化的支援

2.2 THE SOFTWARE PROCESS

The Process Framework

A generic process framework for software engineering encompasses five activities:
軟體工程的通用過程框架包含五項活動:

Communication.
溝通。

Planning(umbrella activities).
策劃(傘式活動)。

Modeling.
造型。

Construction.
建造。

Deployment
部署

In general,umbrella activities are applied throughout a software project and help a software team manage and control progress, quality, change, and risk. Typical umbrella activities include:
一般來說,傘式活動應用於整個軟體專案,幫助軟體團隊管理和控制進度、質量、變更和風險。典型的保護傘活動包括:

  • Software project planning,tracking and control.
    軟體專案規劃、跟蹤和控制。
  • Risk management.
    風險管理。
  • Software quality assurance—defines and conducts the activities required to ensure software quality.
    軟體質量保證——定義並進行確保軟體質量所需的活動。
  • Technical reviews.
    技術審查。
  • Measurement —defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ need
    衡量——定義和收集流程、專案和產品衡量標準,幫助團隊交付滿足利益相關者需求的軟體
  • Software configuration management
    軟體配置管理。
  • Reusability management —defines criteria for work productreuse (including software components) and establishes mechanisms to achieve reusable components.
    可重用性管理——定義工作產品重用(包括軟體元件)的標準,並建立實現可重用元件的機制。
  • Work product preparation and production —encompass the activities required to create work products such as models, documents, logs, forms, and lists
    工作產品準備和生產——包括建立工作產品(例如模型、文件、日誌、表格和列表)所需的活動

2.3 SOFTWARE ENGINEERING PRACTICE

The Essence of Practice

  • Understand the problem (communication,planning,analysis
    modeling)
    理解問題(溝通、規劃、分析建模)
  • Plan a solution ( design modeling)
    規劃解決方案(設計建模)
  • Carry out the plan (code generation)
    執行計劃(程式碼生成)
  • Examine the result for accuracy (testing and quality assurance)
    檢查結果的準確性(測試和質量保證)

General Principles

  • The First Principle: The Reason It All Exists
    第一條原則:一切存在的原因(專案的價值是什麼,能不能帶來生成效益)
  • The Second Principle: KISS (Keep It Simple, Stupid!)
    第二條原則:KISS(保持簡單,愚蠢!)(架構簡單清晰明瞭)
  • The Third Principle: Maintain the Vision
    第三條原則:保持可視(保持每個階段可見,視覺化,類圖或其他工具)
  • The Fourth Principle: What You Produce, Others Will Consume
    關注使用者(軟體做完後有沒有受眾面,對客戶有作用(輸入輸出))
  • The Fifth Principle: Be Open to the Future
    對未來持開放態度(可擴充套件性,比如,介面不寫死, 類便於修改維護)
  • The Sixth Principle: Plan Ahead for Reuse
    提前計劃重用(程式碼儘量標準化,提前考慮元件複用性前瞻性,降低成本)
  • The Seventh Principle: Think!

相關文章