软件工程 第四章 软件设计 ------- 软件过程设计技术与工具.

Slides:



Advertisements
Similar presentations
主要内容 IPO 审核规则体系介绍 审核中关注的重点问题 2007 年以来被否决企业的原因分析. 第一部分 IPO 发行审核的规则体系 ● 法律:证券法 ● 行政规章:首次公开发行股票并上市 管理办法 ● 规范性文件:招股说明书准则、备忘录、 证券期货法律适用意见.
Advertisements

彰化縣和美鎮 和仁國民小學 本土語言教育暨 台灣母語日訪視 簡 報. 一. 學校概況 校地面積 校地面積廣達三公頃 學生活動空間寬廣!
第八章 组织文化的整合 ——并购中的文化整合(二) 小组成员:浦若蓉、朱谷一、贾彦彦.
二十世紀 1940年 組員: 李宛倫 蔡佩君 李致柔 陳佩宜.
第6章 企业集团的资金运筹 课 程:高级财务管理 主讲教师:龙文滨.
與櫻花有約 櫻花開放時間 櫻花前線 賞花便當 京都機場(附近) 夜櫻 哲學之道.
奥田2016年经销商大会传播方案.
善始善终 永不言弃 学 情 通 报 会 涪陵区教育委员会 中国教师研修网 2013年9月9日
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
全国“三新”作文研讨会成果交流 罗外初中部 曾祎闱.
我在哈佛、麥肯錫 學到的一流工作術 富坂美織◎著.
山东建筑大学 国家级虚拟仿真实验教学中心 (建筑工程及装备) 申报及建设情况汇报
Word高级应用——制作毕业论文 Word高级应用——制作毕业论文 6..
中国证监会投资者保护局、上海证监局提醒您:
美洲集团散拼项目分享 李维迪.
Access数据库程序设计 总复习.
---中国第一支产权市场交易基金 ---为国内产权交易提供专业融资服务
舆情管理与危机应对 主讲人:杨博智.
D、結構化技術 主要的結構化技術 結構化程式設計 (Structured Programming)
報告即將開始.
光環”籠罩下的馬雲.
图解监管转型简政放权 上市公司篇.
申請土地徵收注意事項 內政部地政司 邱于蓉.
第一章 引论 1.1操作系统的概念 计算机系统: 计算机硬件 计算机软件 计算机硬件:运算器、控制器、存储器、输入设备和 输出设备
第5週 食品營養、養生保健餐飲 吃得好,吃得巧 Feel good 吃出健康,吃出活力 Look good
標準作業流程(SOP)的編製 --以楊梅高中「註冊組」之實作為例--
Chapter 1 複習.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
基于双数组Trie(Double-Array Trie)的词典查询算法
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
Basis基本操作、使用者 管理與權限設定
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
第5章 結構化分析與設計-流程塑模.
ProQuest Administrator Module (PAM) 使用說明
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
数学3(必修)—— 算 法 ALGORITHM 苏州大学数学科学学院 徐稼红
流程控制、陣列 台南市聖功女子高級中學 毛全良.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
6-1 For…Next迴圈敘述 6-2 While…End While迴圈敘述 6-3 Do…Loop迴圈敘述 6-4 巢狀迴圈敘述
第5章 Visual Basic控制结构 之 常用算法举例
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
Visual Basic 6.0 ——程序设计.
第五章 详细设计.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
陳維魁 博士 儒林圖書公司 第五章 控制結構 陳維魁 博士 儒林圖書公司.
江西财经大学信息管理学院 《数据库应用》课程组2007
海報評比 班級:系統四甲 學號: 姓名:蔡飛宏 授課老師:唐蔚.
小结 郭清溥.
经典算法之 冒 泡 排 序.
Visual Basic 程序设计教程.
软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。
SAP Query 建立User Group (SQ03) 建立Infoset (SQ02)
第二章、第三章错题分析.
第七章 程序设计基础.
第5章 软件详细设计 本章内容结构 本章引言 学习目标 教学内容 本章小结 思考和练习 课堂讨论 2019年4月26日.
Unit 4 Body Language.
用户界面设计 用户界面应具备的特性 用户界面设计的任务分析 用户界面任务和工作设计 界面设计的基本类型 数据输入界面设计 数据显示界面设计
系统设计系统总体结构设计 代码设计 数据结构与数据库设计 输入输出设计 模块功能与处理过程 系统设计报告
Create and Use the Authorization Objects in ABAP
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
第6章 详细设计 Detailed Design
Visual FoxPro 应用基础与面向对象 程序设计教程
手机淘宝“变形”产品—微淘 操作流程指南 (内测版).
顺序查找与二分查找复习.
第七章 結構化企業流程塑模個案.
编译原理与实现 河北科技大学 信息科学与工程学院计算机系 杨奎河
Presentation transcript:

软件工程 第四章 软件设计 ------- 软件过程设计技术与工具

本节主要内容 结构化程序设计技术 过程设计的工具

4.1结构化程序设计 是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

4.2过程设计的工具 图形工具:程序流程图,N-S,PAD,HIPO 表格工具:判定表 语言工具:PDL,HIPO

1. 程序流程图 程序流程图也称为程序框图,程序流程图使用五种基本控制结构是: A B S P A1 P =1 A2 =2 An =n 1. 程序流程图 程序流程图也称为程序框图,程序流程图使用五种基本控制结构是: A B T S P F A1 P =1 A2 =2 An =n 先判断 重复型 顺序型 A B P F S P T 后判断 重复型 选择型 多分支选择型

流程图示例

2. N-S图 N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。 P A = 1 = 2 … = n B A1 A2 … An F T while-do P do-while P = 1 = 2 … = n A1 A2 … An 顺序型 选择型(1) 选择型(2) 先判断重复型 后判断重复型 多分支选择型

N-S图(盒图)示例 do-while X6

N-S图的嵌套定义形式

3. 问题分析图 (PAD) PAD也设置了五种基本控制结构的图式,并允许递归使用。 S1 S A1 A2 An P =1 =2 =n while P S2 until P 先判断重复型 后判断重复型 选择型 顺序型 多分支选择型

3. 问题分析图 (PAD) 日本鲤鱼旗

PAD示例

对应于增量型循环结构 for i := n1 to n2 step n3 do 在PAD中有相应的循环控制结构 PAD的扩充控制结构

4. 判定表 判定表用于表示程序的静态逻辑 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理 要求将程序流程图中的多分支判断都改成两分支判断

无多分支判断结构

5. PDL (Program Design Language) 伪码的语法规则分为“外语法”和“内语法”。 PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法可使用自然语言的词汇。

示例: 拼词检查程序 PROCEDURE spellcheck IS BEGIN split document into single words look up words in dictionary display words which are not in dictionary create a new dictionary END spellcheck

PDL的特点 提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。 有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。 有子程序定义与调用机制,用以表达各种方式的接口说明。

为了区别关键字,规定关键字一律大写,其它单词一律小写。或者规定关键字加下划线,或者规定它们为黑体字。 内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。

使用PDL语言,逐步求精: PROCEDURE spellcheck IS BEGIN --* split document into single words LOOP get next word add word to word list in sortorder EXIT WHEN all words processed END LOOP --* look up words in dictionary LOOP get word from word list

IF word not in dictionary THEN -- IF word not in dictionary THEN --* display words not in dictionary display word prompt on user terminal IF user response says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXIT WHEN all words processed END LOOP

--* create a new words dictionary dictionary := merge dictionary and good word list END spellcheck

6. HIPO图 HIPO是1976年由IBM公司提出来的,一开始只是用做文档编写的格式要求,随后发展成比较有名的软件设计手段。 HIPO图采用功能框图和PDL来描述程序逻辑,它由两部分组成:可视目录表和IPO图。 可视目录表给出程序的层次关系; IPO图为程序各部分提供具体的工作细节。

(1) 可视目录表 VTOC (Visual Table Of Contents) 可视目录表由体系框图、图例、描述说明三部分组成。 1) 体系框图。又称层次图 (H图),是可视目录表的主体,用它表明各个功能的隶属关系。它是自顶向下逐层分解得到的,因此是一个树形结构。 最高一层是整个系统的名称和系统的概括功能说明;

第二层把系统功能展开,分成几个框; 第二层功能进一步分解,就得到了第三层、第四层,…,直到最后一层。 每个框内都应有一个名字,用以标识它的功能。还应有一个编号,以记录它所在的层次及在该层次的位置。 2)图例。 每一套HIPO图都应有一个图例,即图形符号说明。 3)描述说明。它是对层次图中每一框的补充说明,在必须说明时才用。

(2) IPO图 IPO图为层次图中每一功能框详细地指明输入(I)、处理(P)及输出(O)。 由于某些细节很难在一张IPO图中表达清楚,常常把IPO图又分为两部分,概括的称为概要图(overview diagram),具体的称为详细图(detail diagram)。

例:盘存/销售系统的层次图 盘存/销售系统 1.0.0 销售处理 1.1.0 盘存处理 1.2.0 计算 销售 记录 1.1.1 产生 报表 1.1.2 核对顾 客赊欠 的金额 1.1.3 检查 库存 数量 1.2.1 产生发 货单、 装运单 1.2.2 顾客 付款 收据 1.2.3 盘存 例:盘存/销售系统的层次图

例:盘存/销售系统的层次图 盘存/销售系统 1.0.0 销售处理 1.1.0 盘存处理 1.2.0 计算 销售 记录 1.1.1 产生 报表 1.1.2 核对顾 客赊欠 的金额 1.1.3 检查 库存 数量 1.2.1 产生发 货单、 装运单 1.2.2 顾客 付款 收据 1.2.3 盘存 例:盘存/销售系统的层次图

图例 小说明 数据流 控制流 子程序 实体 数据输入/输出 编号 说 明 1.0.0 销售/盘存处理框图 1.1.0 数据流 控制流 子程序 实体 数据输入/输出 图例 编号 说 明 1.0.0 销售/盘存处理框图 1.1.0 顾客订单检查, 核对顾客赊欠金额, 产生销售报表 1.1.1 用工作文件的盘存项目号, 对顾客订单进行核对和排序 1.1.2 以地区和人员为单位, 编制销售报表, 计算销售佣金 1.1.3 检验顾客赊欠金额, 计算折扣, 确定支付项目 1.2.0 处理顾客盘存管理报表, 顾客付款收帐, 处理发货、包装、托运  小说明

概要IPO图用于表达对一个系统,或对其中某一子系统功能的概略表达,指明完成某一功能框规定的功能时需要哪些输入,哪些操作和哪些输出。

对应H图上1.1.0框的概要IPO图 输入 Input 输出 Output 处理 Process 销售事务记录 计算销售事务记录, 顾客赊欠 金额文件 退回订单文件 后备订单文件 退回订单 无效订单 特殊处理订单 工作文件 销售报表 计算销售事务记录, 产生排序的工作文 件 1.1.1 按地区及销售人员, 产生销售报表,计算 销售手续费 1.1.2 核对顾客赊欠金额, 计算应付款项1.1.3 1.1.0 输入 Input 输出 Output 处理 Process

对应于H图1.1.2框的详细IPO图 从1.1.1框来 到 1.1.3框去 1.1.2 1. 以销售地区和销售 人员的销售额排序 交易 文件 销售报表 1. 以销售地区和销售 人员的销售额排序 2. 准备销售报表 地区销售总计 人员销售总计 计算佣金 交易 文件 SORT 系统提供 的子例程 销售数 据排序 到 1.1.3框去

改进的IPO图格式 IPO图 系统: 模块: 编号: 作者: 日期: 被调用: 调用: 输出: 输入: 操作: 局部数据元素: 注释:

HIPO图既是在开发过程中的表达工具,又是开发文档的编制工具。开发完成后,HIPO图就是很好的文档。 这一图形表达方法容易看懂。 HIPO图的适用范围很广, 不限于详细设计。画可视目录表就是与概要设计密切相关的工作。如果利用它仅表达软件要达到的功能,则是需求分析中描述需求的很好的工具。 HIPO图既是在开发过程中的表达工具,又是开发文档的编制工具。开发完成后,HIPO图就是很好的文档。