D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)

Slides:



Advertisements
Similar presentations
课前寄语 1 、保持纪律 2 、相互配合. 第三节 公民的投资 —— 公民的存款储蓄 课堂导入.
Advertisements

“ 软件工程 ” 考试安排 考试方式 每人从给出的题目中选择一题,独立撰写论文一篇。 论文要求 1. 论文既要结合软件工程的理论知识,又要结合自身 的实践体会,特别要联系课设自己的实际工作(请 说明自己在课程设计中所承担的主要工作及自己的 认识、体会、总结)。论文应具有自己的分析、观 点,并有实例分析。
親 ( 四 ) 親近神的路. 一、親的三字訣、七字訣: 親近神,親愛人; 與主交通親近神,同情關心親愛人。 甚麼是親? 1. 親有親近、親愛,更有關心、同情、親切的 意思。 2. 親的人與人沒有間隔,拉近人與人之間的距 離,並且樂意幫助人,與人相調建造在一起。
第二班群教師團隊 105 張心平 107 鐘于寧 106 黃意評 108 鄭婉茹. 第二班群之班親會說明 學校規定事項說明 教學活動說明 班群活動介紹.
差勤.
申論題要拿高分並不容易,因為他是 有一定的技巧的,如果你遵照下列技 巧來作答申論題,相信高分並不難拿, 其技巧如下:
102大學甄選入學 個人申請、繁星推薦說明 主講人:簡慧嫻.
報告人:教育部會計處處長 黃 永 傳 日 期:103 年12 月27 日
新進教師研習 教務處報告 報告人:教務處 林永仁 2011 年 8 月31日.
「明清時期台灣古典散文」 教師:田啟文.
鼻炎 症狀: 鼻(眼睛)內發癢或不舒服、 打噴嚏、 流鼻涕(水)、 鼻塞………等 。 鼻子內的任何發炎。
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
第3章 需求分析(续) 学习目标 什么是需求建模? 需求分析建模方法 掌握实体—关系图(E—R图); 掌握状态转换图;
成才之路 · 语文 人教版 • 中国古代诗歌散文欣赏 路漫漫其修远兮 吾将上下而求索.
参赛指导手册 主题 1、如何确定作品主题 品牌故事 百年历史积淀 企业文化 社会公益活动 …… 有关的趣闻 啤酒文化 品牌形象延伸
第二章 可行性研究.
遣詞造句知多少? 中文系 王偉勇教授 兼通識教育中心中心主任.
(4)理论体系与实训模块 必须衔接、融合 本课程把理论教学体系与实训模块结构连接成一个完整的高职课程体系。
最有利標及評選優勝廠商 講師 劉金龍 經歷:臺中市政府發包科科長.
三、市场营销学研究的基本方法 (1)产品研究法。是以物为中心的研究方法,即在产品分类的基础上,对各类产品市场分别进行研究。 (2)机构研究法。是以研究市场营销制度为出发点,体现以人为中心的研究方法,即集中对整个市场营销系统中的各特定机构的性质和功能进行研究。 (3)职能研究法。是以研究产品从生产者到消费者手中所进行的各种营销活动过程中,市场营销组织所发挥的功能的方法。
第八章 信息系统开发概述.
第9章 系統建置.
Chapter 4 人力資源規劃 人力資源管理:新時代的角色與挑戰5/e 曾光榮、魏鸞瑩、黃金印著 前程文化出版.
職業災害調查及善後處理.
软件工程 咸阳师范学院 信息工程学院.
你 今 天 累 吗 ? 坪山高级中学心理教师 张婧乔.
第6章 系统分析 6.1 概述 6.2 逻辑模型 6.3 逻辑结构分析 6.4 用例分析 6.5 概念类分析.
把握命题趋势 ★ 科学应考 实现最后阶段的有效增分
第十二章 生产与费用循环审计.
用字母表示数 A=X+Y+Z 执教:建阳市西门小学 雷正明.
標準作業流程(SOP)的編製 --以楊梅高中「註冊組」之實作為例--
Chapter 1 複習.
需求擷取.
資料庫管理 HOMEWORK #2 ERD練習 楊立偉教授 台灣大學工管系 2013 Fall.
第5章 結構化分析與設計-流程塑模.
MIS原理与应用 第七讲 系统需求分析之 逻辑模型
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
程式設計 老師:戴自強 助教:楊斯竣.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Week 2: 程式設計概念與 演算法的效能評估
证书发放工作要点及流程 学院办公室.
需求分析工具BPwin 下午7时45分 25.
软件工程 第四章 软件设计 软件过程设计技术与工具.
中華生活商圈 商家管理系統 指導老師:王素華老師 學 生: 陳逸文 張治仁.
ER Model.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。
Computational Thinking & Programming
信息系统开发 信息系统开发的组织工作 第一阶段 系统规划 第二阶段 系统分析.
第15章 系統分析與設計.
信息系统开发 信息系统开发的组织工作 第一阶段 系统规划 第二阶段 系统分析 第三阶段 系统设计 第四阶段 系统实施.
從 ER 到 Logical Schema ──兼談Schema Integration
第5章 软件详细设计 本章内容结构 本章引言 学习目标 教学内容 本章小结 思考和练习 课堂讨论 2019年4月26日.
第五章 結構化分析與設計 ─流程塑模.
系统设计系统总体结构设计 代码设计 数据结构与数据库设计 输入输出设计 模块功能与处理过程 系统设计报告
單元名稱:結構化程式設計 報告人 劉洲溶.
业务流程重组 1.概念 业务流程重组(BPR ,Business Process Reengineering)强调以业务流程为改造对象和中心、以关心客户的需求和满意度为目标、对现有的业务流程进行根本的再思考和彻底的再设计,利用先进的制造技术、信息技术以及现代化的管理手段、最大限度地实现技术上的功能集成和管理上的职能集成,以打破传统的职能型组织结构(Function-Organization),建立全新的过程型组织结构(Process-Oriented.
第四节 数据库设计 数据库设计是指根据用户需求分析、在现有的数据库管理系统的基础上建立数据库结构的过程。具体讲,是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之有效地存储数据,满足用户信息要求和处理要求。 数据库设计的依据DFD、DD、DBMS 。 数据库的设计过程是通过E-R图(依据“实体-联系”法实现,Entity.
第八章 工作設計與工作衡量 工作設計(方法工程)與工作衡量(時間研究)是對工作系統做有系統的研究(又稱為工作研究),其目的在發展一個較好的系統及方法,能以較低的成本與較高的效率圓滿完成工作。 接著將此一新的系統及方法標準化,爾後訓練作業員執行工作時均按此一較好的系統及方法,因此工作設計與工作衡量所得的結果可做為獎工制度訂定的重要依據。
第七章 软件测试 Software Testing
第6章 详细设计 Detailed Design
05 债务重组.
4.1 概 述 4.2 组合体视图绘制方法 4.3 组合体的尺寸标注 4.4 组合体视图的读图方法
C语言基本语句 判断循环.
Presentation transcript:

D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming) 由上而下發展 (Top-down Development) 結構化設計 (Structured Design) 結構化分析 (Structured Analysis)

1.結構化程式設計 由Dijkstra (1969)提出 消除程式因goto而造成如麵條式的混亂狀態 強調任何程式邏輯均可由三種結構組成 循序(sequence):簡單命令式的指令如 COMPUTE, READ, WRITE 與代數指令如X=Y+Z。 選擇(condition):需做決策時,用 IF-THEN-ELSE 指令與 CASE 指令。 重複(repetition):當需反覆時,用 DO-WHILE 與 DO-UNTIL 指令。

結構化程式之邏輯概念

2.由上而下發展 起源於1960年代末期 強調把大問題依序分解成具層級結構之小模組,並由上層模組開始進行程式設計及測試 層級化設計 延緩考慮細節問題

由上而下設計 把大而複雜的問題分解成較小且較簡化的問題,直到原來的問題已可用一些容易且可理解的小問題組合來代表。例: 先將主程式分為A、B、C三個子程式 再劃分子程式A為A1與A2,子程式C為C1與C2 Main A B C A1 A2 C1 C2

3.結構化設計 起源於1960年代末期,其概念先於結構化分析 主要目的:將資訊系統依由上而下發展,並將程式設計模組化與結構化。 決定系統應有哪些模組? 模組間以何種相互聯繫才能最有效解決問題? 特別強調系統的可維護性

模組(Module) 即副程式,為一連串指令的集合,包括: (1)模組名稱:唯一且應有意義,應能表達模組的功能 (2)輸入:模組被呼叫時,呼叫模組所需輸入的資料 (3)輸出:模組執行後所產生的輸出結果 (4)處理邏輯:為達成模組功能,模組內所需具備的執行程序與邏輯。 (5)內部資料:該模組獨自擁有而不與其他模組共用的資料

3.1 結構化設計之經驗法則 模組大小 控制間距 控制範圍 基於小模組較大模組容易維護與修改,故結構化設計較傾向用小模組。 一般來說,小模組約包含 200 個以下的程式指令 例如,可列印在1~2頁之A4紙內 控制間距 一個模組不要同時控制太多即時模組,因為控制太多模組將不利瞭解與維護。 最多不要超過9個(Magic Number 7±2) 控制範圍 為縮小影響範圍與控制範圍,當甲模組之行為被乙模組所影響,則甲模組應從屬於乙模組。

3.2 結構化設計之評估準則 要達到良好的系統設計與提升模組的品質,需考慮: 模組的內聚力(cohesion):一個模組內部所做事情的相關程度。 模組間的耦合力(coupling):一個系統內部各模組之間的相關程度。 其他考慮因素:如功能分割、錯誤訊息等。

內聚力 衡量模組內部工作相關程度的方法 良好的設計希望一個模組僅處理單一功能 也就是衡量模組完成一件單一、且定義清楚之工作的程度 功能內聚力:一個模組只做一件事情 順序內聚力:模組內具有多個功能或處理多件事情,且一項功能的輸出立即成為下一個功能的輸入、共用相同的資料 檢查身分證 號碼正確性 讀取某數值x 計算x之平方 將計算所得結果 顯示於螢幕上

耦合力 一種衡量模組間相互關聯強度的方法 解決了一模組內的錯誤狀況,但在其他的模組內引起新的錯誤,這種現象稱為連鎖反應(Ripple Effect)。 解決連鎖反應之可行方法是儘量使一個模組不與其它模組糾結在一起,即讓每個模組儘可能的獨立,亦即降低模組間的耦合力。 良好的設計希望即模組間的溝通只使用簡單型別之參數來溝通。 計算客戶帳單 計算房屋 貸款償還 償還率 貸款總額 利率

其他考量因素 一個良好的設計除了內聚力與耦合力的分析外,尚包括: 模組功能的分割:當模組太大、為了減少功能重複的模組、為了管理的需求、為了發展可重複使用的模組或發展易撰寫的模組等情況時,都是模組功能分割的適當時機。 模組除了原處理外,亦需考量錯誤、輔助訊息及例外狀況之處理。

4.結構化分析 彌補結構化設計之不足 結構化設計最終需產出模組化與結構化之程式和符合正規化之資料庫 起源於1970年代中期 結構化設計並未具體解決上述問題,因此結構化分析乃應運而生 起源於1970年代中期 利用圖形化文件工具(graphic documentation tools)進行企業流程及企業資料格式塑模

結構化分析之圖形化文件工具 事件(Event)及事件列(Event List) 資料流程圖(Data Flow Diagram, DFD) 環境圖(Context Diagram) 資料字典 (Data Dictionary, DD) 處理規格描述 (Process Specification, PS) 實體關係圖(Entity Relationship Diagram, ERD)

結構化分析與設計及塑模工具 ⊙處理描述 ⊙藍圖 ⊙資料詞彙 使用者與 企業需求 流程圖 需求塑模 需求擷取 需求轉換 資料塑模 流程塑模 資料流程圖→結構圖→模組設計 實體關係圖→關聯表→正規化 使用者介面塑模 介面結構圖、介面藍圖與元件 規格、介面狀態圖與轉換表 使用者介面設計 程式設計 資料庫設計

結構化分析與設計 總結 主要是應用DFD及ERD等圖形化工具,將企業流程分解成具層級結構之小模組,並將企業資料格式分解成滿足正規化之資料庫。 有意義之文件模式。 使分析與設計過程更視覺化與標準化。 有較客觀的準則以供衡量 「好」的系統分析與設計及程式設計。 提升程式的一致性、再用性與可維護性。