ajo6vul4 的部落格

計概筆記09

7-5 Tools of the Trade專業工具

˙Data Flow Diagram資料流向圖

˙Entity-Relationship Diagram實體關聯圖
    -One-to-one relation
    -One-to-many relation
    -Many-to-many relation

˙Date Dictionary資料詞典

*Unified Modeling Language 統一塑模語言(UML)
˙Use Case Diagram使用狀況圖
    課本圖7-11
   -Use cases使用狀況
   -Actors演員
˙Class Diagram類別圖
    課本圖7-12,7-13

*Structured Walkthoughs 結構化複核
˙"Theatrical" experiment
˙Class-responsibility-collaboration (CRC卡) : 一個簡單的卡片上記載了對物件的描述

*Design Patterns 設計樣板
˙Well designed"templates樣板"for solving recurring不斷出現的 problems
˙Examples:
    -Adapter pattern調節器樣板 :Used to adapter a module's interface to current needs
    -Decorator pattern裝修師樣板: Used to control the complexity involved when many different combinations of the
     same activities are required
˙Inspired源至 by the work of  Christopher Alexander in architecture

計概筆記08

7-4 Modularity 模組化

˙Procedures程序 : Imperative paradigm命令式設計 (在命令式設計方法之下模組以程序的樣子出現)
   -Structure charts 結構圖

˙Objects : Object-oriented paradigm物件導向設計法
   -Collaboration diagrams合作圖

˙Components : Component architecture

˙Coupling外連 vs. Cohesion內聚
   -Coupling - 模組之間連結方式
    Control coupling控制外連
    Data coupling資料外連
   -Cohesion
    Logical cohesion
    Functional cohesion功能內聚

計概筆記07

7-3 Software Engineering Methodologies

˙Waterfall Model瀑布模式 : 開發過程只允許單一方向的思考模式
   -There are two models of software development : the waterfall model and the incremental model
   -In the waterfall modelm,each module is completely finishes before the next module is started

˙Incremental Model漸進模式 :
   -Prototyping雛型化 (評估未來整體系統的簡化版本)
    Evolutionary漸進式  vs. Throwaway捨棄式(ex. rapid prototyping)
   -In the incremental model,the entire package is constructed, with each module consisting of only a shell
   -The modules gain complexity with each iteration of the package
   -第一個版本可以是最終產品的簡化版本

˙Open-source Development開放原始碼發展方式

˙Extreme Programming極限程式設計方法 (工作團隊共同發展)

計概筆記06

7-2 The Software Life Cycle

˙Design Stage
   -Methodologies方法論 and tools (discussed later)
   -Human interface (psychology心理學 and ergonomics人因工程學)

˙Implementation Stage
   -Create system from design
     Write programe
     Create data files建立資料檔案
     Develop databases開發資料庫
   -Role of"software analyst軟體分析師" v.s "programmer程式設計師"
    前者-必須在開發過程中全程參與的人 分析設計
    後者-主要在建置階段涉入的人

˙Testing Stage
   -Validation testing驗證測試 : Confirm確認 that system meets specifications規格
   -Defect testing : Find bugs

計概筆記05


7-2 The Software Life Cycle

˙The software life cycle
    Development開發 -------> Use ----->Modification修改
                  ↑______|           

˙The development phase開發階段 of the software life cycle
    → Analysis分析 → Design設計 → Implementation建置 → Testing測試 →

˙Analysis Stage
    -Requirements需求 : application oriented 使用者指向
    -Specifications規格 : technically oriented 技術
    -Software requirements document軟體需求文件 (分析完最後產生)

計概筆記04

Chapter 7 : Software Engineering 軟體工程

7-1 The Software Engineering Discipline 軟體工程專業

˙Distinct from other engineering fields
   -Prefabricated components 預先組合好的元件
   -Metrics 軟體度量

˙軟體工程的研究正分成兩個層次進行
   -Practitioners實務派 versus Theoreticians理論派

˙Professional Organizations專業組織 : 計算機協會ACM, 電機電子工程師協會IEEE, etc
   -採用 Codes法條 of  professional  ethics倫理
   -Standards 道德標準

˙Computer-aided software Engimeering(CASE) 電腦輔助軟體工程 tools工具
   -Project planning專案規劃系統
   -Project management專案管理系統
   -Documentation 文件製作系統
   -Prototyping and simulation 雛型建立與模型系統
   -Interface design介面設計系統 : 協助GUI製作
   -Programming 程式撰寫系統

計概筆記03


<計概筆記8-1>

˙tree : is a collection whose entries have a hierarchical organization
  - node 節點 : each position in a tree.
  - root node 根節點 : the node at the top.
  - terminal/leaf nodes 終端節點 : the nodes at the other extreme.
  - depth 深度 : the number of nodes in the longest path from the root to a leaf.
  - depth : is the number of horizontal layers水平層次. (下圖: depth=3)
  - children (下圖: [B]&[C] are children of [A])
  - parent
  - siblings : nodes with the same parent. (下圖: [B]&[C])
  - subtrees子樹
  - branch分支
  - root node 只有 outdegree branches
  - terminal/leaf nodes 只有 indegree branches
  - binary tree 二元樹 : a tree in which each parent has no more than two children.
      
   第一層          [A]----root node
                         /   \
   第二層      [B]     [c]---node
                    /   \     
   第三層 [D]      [E]----terminal/leaf nodes

計概筆記02

<計概筆記8-1>

˙list串列 : is a collection whose entries are arranged sequentially.
  - head : the beginning of a list.
  - tail : the other end of a list.

˙stack堆疊 : is a list in which entries are removed and inserted only at the head.
  - top : the head of a stack.
  - bottom/base : the tail of a stack.
  - push : insert a new entry at the top of a stack.
  - pop : remove an entry from the top of a stack.
  - last-in, first-out (LIFO) structure.

˙queue佇列 : is a list in which entries are removed only at the head and new entries are inserted only at the tail.
  - rear : inserted at one end.
  - front : deleted from the other end.
  - first-in, first-out (FIFO) structure.

計概筆記01

<計概筆記8-1>

1. homogeneous array 同質陣列 : is a "rectangular" block of data whose entries are of then same type.(是一個長方形的資料區塊,其每一項都有相同的型態)

2. two-dimensional homogeneous array 二維陣列 : 第一個指標代表row(列),第二個指標代表column(行)

3. heterogeneous array 異質陣列 : is a block of data items that might be of different types.(一塊資料項目,其可能有不同型態)

4. components 元件: the items within the block. (區塊中的個別項目通常被稱為元件)

頁面