《软件工程导论》第五版-张海藩-编著-总结
[工学]软件工程导论 张海藩第5版第6章
![[工学]软件工程导论 张海藩第5版第6章](https://img.taocdn.com/s3/m/b038d67d804d2b160b4ec036.png)
6.2.3 人机界面设计指南
总结众多设计者的经验得出的设计指南, 有助于设计者设计出友好、高效的人机界面。 下面介绍3类人机界面设计指南。 1. 一般交互指南 一般交互指南涉及信息显示、数据输入 和系统整体控制,因此,这类指南是全局性 的,忽略它们将承担较大风险。下面讲述一 般交互指南。
22
(1) 保持一致性。应该为人机界面中的菜单选择、 命令输入、数据显示以及众多的其他功能,使用一 致的格式。 (2) 提供有意义的反馈。应向用户提供视觉的和听 觉的反馈,以保证在用户和系统之间建立双向通信。 (3) 在执行有较大破坏性的动作之前要求用户确认。 如果用户要删除一个文件,或覆盖一些重要信息, 或终止一个程序的运行,应该给出“您是否确实 要……”的信息,以请求用户确认他的命令。 (4) 允许取消绝大多数操作。UNDO或REVERSE功 能曾经使众多终端用户避免了大量时间浪费。每个 交互式系统都应该能方便地取消已完成的操作。
27
3. 数据输入指南
用户的大部分时间用在选择命令、键入数据 和向系统提供输入。在许多应用系统中,键盘仍然 是主要的输入介质,但是,鼠标、数字化仪和语音 识别系统正迅速地成为重要的输入手段。下面是关 于数据输入的设计指南。 (1) 尽量减少用户的输入动作。最重要的是减少击 键次数,这可以用下列方法实现:用鼠标从预定义 的一组输入中选一个;用“滑动标尺”在给定的值 域中指定输入值;利用宏把一次击键转变成更复杂 的输入数据集合。
10
6.2.1 设计问题
一、 4个设计问题
在设计人机界面的过程中,几乎总会遇到下述 4个问题:系统响应时间、用户帮助设施、出错信 息处理和命令交互。不幸的是,许多设计者直到设 计过程后期才开始考虑这些问题,这样做往往导致 出现不必要的设计反复、项目延期和用户产生挫折 感。最好在设计初期就把这些问题作为重要的设计 问题来考虑,这时修改比较容易,代价也低。下面 讨论这4个设计问题。
《软件工程导论》张海潘第五版清华课后答案

了解结构化开发方法的核心概念和工具,提供 对练习问题的参考答案。
面向对象开发方法
第五章
深入探讨面向对象开发方法的理论和实践,学习如何设计和构建强大的面向 对象软件系统。
课后答案
第一章答案
掌握软件工程概述的关键知识点,提供练习题 的答案以加深理解。
第三章答案
学习需求分析和建模的实际应用,提供对课后 习题的详细解答。
第二章答案
了解软件生命周期的各个阶段,掌握解决实践 问题的方法和技巧。
《软件工程导论》张海潘 第五版清华课后答案
欢迎来到《软件工程导论》张海潘第五版清华课后答案的世界。让我们一起 探索这门令人兴奋的学科,并发现其中的奥秘和乐趣。
课本信息
书名:《软件工程导论》
作者:张海潘
版本:第五版
出版社:清华大学出版社
作者简介
张海潘
张海潘是一位资深的软件工程教授,拥有丰富的教学和研究经验。他对软件 开发过程和方法论有着深入的研究,并致力于培养下一代的软件工程师。
章节导引Biblioteka 1第二章:软件生命周期
2
深入研究软件项目的整个生命周期,了
解每个阶段的任务和活动。
3
第四章:结构化开发方法
4
介绍结构化开发方法的基本原理和技术, 帮助开发人员构建可靠和易维护的软件。
第一章:软件工程概述
了解软件工程的基本概念和原理,掌握 软件工程的核心思想和目标。
第三章:需求分析与建模
学习如何捕捉用户需求并进行有效的需 求分析和建模。
[工学]软件工程导论张海藩第5版第2_3章
![[工学]软件工程导论张海藩第5版第2_3章](https://img.taocdn.com/s3/m/c4d3ab5b1a37f111f0855ba7.png)
- - 特性:件系统在可移植性、可维护性、安全性等方面 有什 么考虑?
-- 设计约束:是否存在必要的标准、开发语言、数据库、 资源 限制、运行环境等因素的影响和策略?
2021/5/21
软件工程导论 王培丽
28 29
编写需求规格说明的原则
2021/5/21
软件工程导论 王培丽
30 30
编写需求规格说明的原则
• 原则 5:文档段落不宜太长
- 简短 - 记住:不要在需求说明中使用“和/或”、“等等”之类的词
• 原则 6:避免使用模糊的、主观的术语
- 如用户友好、容易、简单、迅速、有效、许多、最新技术、 优越的、可接受的、最大化、最小化、提高等
可行性研究的任务 可行性研究的过程 系统流程图 成本/效益分析
2021/5/21
2
2.1.1 可行性研究的任务
可行性研究的目的
用最小的代价在尽可能短的时间内研究并确 定客户提出的问题是否有行得通的解决办法。
可行性研究的内容
技术可行性:使用现有的技术能实现这个系 统吗?
经济可行性:这个系统的经济效益能超过他 的开发成本吗?
进一步细化。
2021/5/21
12
2.1.4 数据流图
画数据流图的原则:
(1)数据流图中所有图形只限于四种基本图形元素; (2)每个处理至少有一个输入数据和一个输出数据; (3)每个元素都必须有名字; (4)数据流图只反映系统做什么; (5)按照层次给处理过程编号; (6)父图与子图要平衡(输入和输出要一致); (7)存储:一个局部存储只要当它作为某些处理的 数据接口或某个处理特定的输入输出时就要把它画出来;
《软件工程导论》张海潘_第五版_清华_课后答案PPT课件

护士 护士
社会、政策允许的可行性
2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系
统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息
an.c 利息
2.3
打印利息
值
d清a单 ai
w. 某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别…等)输入进该系统,系统 ww 为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印 网 出机票给旅客。
源
旅客
取票通知 账单/票款
网 检验信 源息
检验信 息过程
重试信息
资
SC 图
件 用户执行模块 课
案
答 读用户命令
命令处理
题
习
案系统设置
现用/非现用
密码处理
答 控制器
系统
控制器
爱
读系统 数据
建立配 置文件
读 密码
用文件 比较密码
密码输出 控制器
机票预订系统(参见习题 2 第 3 题)
显示信息 与状态
产生 无效信息
6
更新日志
日志
日志
7 产生病情 要求
报告
课件 事样务
数据 数据
案
D1 患者日志
答
6.数据定义 1、顺序 + 2、选择〔 | 〕3、重复
题 – 定货系统 P39 习 – 习题 2 第 5 题 P44 案 2-1 应该从哪些方面研究目标系统的可行性?
(完整版)《软件工程导论》第五版张海藩编著总结

总结重点:❖∙Unit1❖∙软件危机包含两方面的问题:一是如何开发软件,怎样满足人们对软件日益增长的需求?二是如何维护软件,使它们持久地满足人们的要求。
❖∙软件工程学定义:把软件当作一种工业产品,采用工程学的原理来管理和组织软件的开发和维护,称为软件工程。
❖∙软件是指程序、数据和文档三者共同构成的配置。
❖∙包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作称为软件。
文档是描述程序开发过程的,是智力创作的真实记录,是创作活动的历史档案和结晶。
❖∙软件的描述性定义:软件由计算机程序,数据结构和文档组成。
❖∙软件质量定义为“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体”具体来说: 1)软件产品中能满足给定需求的性质和特性的总体;2)软件具有所期望的各种属性的组合程度。
❖∙将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户的观点——面向管理的观点,且是定性描述的。
❖∙软件质量度量体系:内部度量可用于开发阶段的非执行软件产品,外部度量只能在生存周期过程中的测试阶段和任何运行阶段使用。
❖∙软件工程项目的基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。
❖∙软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。
❖∙软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。
❖∙结构程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。
它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。
❖∙用来辅助软件开发、运行、维护、管理、支持等过程中活动的软件称为软件工具(CASE)。
❖∙软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用的整个过程。
各阶段的任务彼此间尽可能的相对独立,同一阶段内各项任务的性质尽可能的相同。
西华师范大学 软件工程导论 第五版 张海藩 期末复习资料

软件生命周期软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤软件生命周期:同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
软件生命周期组成:①软件定义②软件开发③运行维护软件生命周期阶段:1.问题定义本阶段需要明确回答:“要解决的问题是什么?”。
统分析员应该提出问题的性质、目标和规模的书面报告。
通过对实际用户和使用部门的调查、研究,以及讨论、交流,得出一份双方都满意的文档2.可行性研究本阶段需要回答的是:“上一阶段确定的问题有无可行的解决方案,是否值得解决?”。
更进一步明确项目的规模和目标,从技术可行性、经济可行性、操作可行性、法律可行性、社会可行性等方面进行研究,确定是否开发本项目。
3.需求分析本阶段确定为解决该问题,目标系统必须应具备哪些功能。
系统分析员在本阶段必须与用户密切配合,充分交流,得到经用户确认的系统逻辑模型,用数据流图、数据字典等描述系统的逻辑模型。
需求分析阶段所确定的系统逻辑模型是以后设计和实现目标系统的基础,必须准确、完整的体现用户的需求。
4.总体设计本阶段确定目标系统的主要功能如何完成。
采用流程图或其他工具描述出每种可能的系统,推荐出一个最佳的方案,并制定出实现该系统的详细计划。
本阶段的另一个主要任务是设计软件的结构,确定软件应由哪些模块构成,以及模块之间的关系。
还应考虑系统的开发和应用环境,如计算机系统的配置,计算机网络等。
5.详细设计详细设计阶段的任务就是把问题的求解具体化,设计出程序的详细规格说明。
通常用HIPO图(层次图/输入/处理/输出)或PDL语言(过程设计语言)描述详细设计的结果。
6.编码和单元测试本阶段的任务是编写软件程序。
程序员应根据目标系统的要求,选取适合的程序设计语言,把详细设计的结果编制成程序,并对每一个模块进行单元测试。
软件工程领域的经典教材_张海藩的_软件工程导论_第5版_

Computer Education教材建设软件工程领域的经典教材——张海藩的《软件工程导论(第5版)》清华大学出版社袁勤勇/文张海藩老师编著的《软件工程导论(第5版)》(ISBN:9787302164784清华大学出版社出版)于2008年2月出版发行。
截至2007年底,该书各版本累计销售已近100万册,被国内许多高校选作软件工程课的教材,成为软件工程领域的经典教材,先后荣获全国普通高等学校工科电子类专业优秀教材二等奖、一等奖,并被评为全国优秀畅销书(前10名)和北京高等教育精品教材。
1986年第1版面世之后,至今已22年。
这22年来计算机技术,特别是软件技术飞速发展,日新月异,该领域的不少优秀教材只能各领风骚数年,而该书至今依然畅销,实属难能可贵。
内容全面、系统与时俱进,是该书历经5版,跨时二十多年畅销不衰的原因之一。
随着学科的发展,作者都适时地对老版本进行修订,编写新版本。
每次修订都是在保持原书系统性强,内容全面,丰富的实例与原理性论述紧密配合的特点的基础上,增加反映学科最新发展方向的新内容,删除陈旧或不重要的内容。
作者在内容的取舍,难度的把握,篇幅的控制上,都作了十分慎重、精心的斟酌,甚至文字叙述方面也作了仔细推敲,力求精益求精。
例如,1997年出版的第3版中,作者吸取国内外论述面向对象方法学中众多书刊的精华,并结合自己使用面向对象方法从事科学研究、软件开发的经验和体会,对面向对象方法作了全面、系统、深入的介绍;2003年出版的第4版中,作者用统一建模语言(UML)的概念与符号重新改写了面向对象方法学的有关内容;2008年出版的第5版中,针对几年来软件工程的发展状况,作者增加了目前比较流行的Rational统一过程、以极限编程为杰出代表的敏捷过程以及微软过程的介绍。
《软件工程导论(第5版)》全面系统地讲述了软件工程的概念、原理和典型的方法学,并介绍了软件项目的管理技术。
本书正文共13章,第1章简单介绍了软件工程的历史背景、基本概念及软件过程,第2章至第8章顺序讲述软件生命周期各阶段的任务、过程、结构化方法和工具,第9章至第12章分别讲述面向对象方法学、面向对象分析、面向对象设计和面向对象实现,第13章介绍软件项目管理。
《软件工程导论》张海潘 第五版 清华 课后答案

WATCHING
THANKS FOR
实践应用:软件测试与质量保证
测试计划制定
根据软件需求和测试目标,制定详 细的测试计划,包括测试范围、测 试方法、测试资源以及测试进度等 方面的内容。
测试用例设计与执行
根据测试计划设计有效的测试用例, 并严格按照测试用例执行测试过程, 以确保软件的质量和稳定性。
缺陷管理与回归测试
建立缺陷管理机制,对测试过程中 发现的缺陷进行跟踪和管理,并进 行回归测试以确保缺陷得到修复并
软件工程的概念及基本原则
软件工程是一门研究计算机软件开发、维护和管理的科学。其基本原则包括强调需求分析、采用合 适的设计方法、实行严格的测试和维护等。
软件生命周期及各阶段任务
软件生命周期包括需求分析、设计、编码、测试和维护等阶段。各阶段的主要任务分别是明确用户 需求、设计系统结构、编写程序代码、测试软件功能和修复漏洞等。
案例分析三
某移动APP产品的敏捷开发实践。该案例以 敏捷开发方法为基础,介绍了产品迭代规划、 用户故事编写、任务分解以及站会等敏捷实 践活动的应用,对于理解敏捷开发方法的精 髓和实施具有很好的启示作用。
实践应用:软件开发项目管理
项目计划制定
根据项目需求和目标,制定详细的项目计划,包括任务分解、 资源分配、进度安排以及风险管理等方面的内容。
不再出现。
质量评估与改进
通过质量评估活动对软件的质量进 行全面评估,并根据评估结果制定 相应的质量改进措施,以提高软件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程导论》第五版张海藩编著总结分类:Computer System2011-01-04 10:14 6417人阅读评论(10) 收藏举报测试数据结构工具任务文档软件测试总结重点:∙Unit1∙软件危机包含两方面の问题:一是如何开发软件,怎样满足人们对软件日益增长の需求?二是如何维护软件,使它们持久地满足人们の要求。
∙软件工程学定义:把软件当作一种工业产品,采用工程学の原理来管理和组织软件の开发和维护,称为软件工程。
∙软件是指程序、数据和文档三者共同构成の配置。
∙包含与数据处理系统操作有关の程序、规程、规则以及相关文档の智力创作称为软件。
文档是描述程序开发过程の,是智力创作の真实记录,是创作活动の历史档案和结晶。
∙软件の描述性定义:软件由计算机程序,数据结构和文档组成。
∙软件质量定义为“与软件产品满足规定の和隐含の需求能力有关の特征和特性の全体”具体来说: 1)软件产品中能满足给定需求の性质和特性の总体;2)软件具有所期望の各种属性の组合程度。
∙将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户の观点——面向管理の观点,且是定性描述の。
∙软件质量度量体系:内部度量可用于开发阶段の非执行软件产品,外部度量只能在生存周期过程中の测试阶段和任何运行阶段使用。
∙软件工程项目の基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。
∙软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。
∙软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。
∙结构程序设计是进行以模块功能和处理过程设计为主の详细设计の基本原则。
它の主要观点是采用自顶向下、逐步求精の程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。
∙用来辅助软件开发、运行、维护、管理、支持等过程中活动の软件称为软件工具(CASE)。
∙软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用の整个过程。
各阶段の任务彼此间尽可能の相对独立,同一阶段内各项任务の性质尽可能の相同。
软件の开发就是“按软件顺时间发展の过程分阶段进行”の。
∙软件生存周期模型:瀑布模型(阶段间具有顺序型和依赖性,清楚地区分逻辑设计与物理设计、尽可能推迟程序の物理实现,是文档驱动模型,遵循结构化设计);原型模型(软件产品の开发是线性顺序进行の,本质是快速,用途是获知用户の真正需求,一旦需求确定,原型将被抛弃)。
其核心都是将软件开发划分为:分析、设计、编码、测试和维护。
∙软件生存周期划分为以下几个阶段:可行性研究与计划、需求分析、总体设计、详细设计、实现、组装测试、确认测试、使用和维护。
∙软件过程:是为了获得高质量软件所需要完成の一系列任务の框架,它规定了完成各项任务の工作步骤 ∙软件工程方法学:通常把在软件生命周期全过程中使用の一整套技术方法の集合称为方法学,也称范型 ∙软件工程过程是软件生存周期中各个可能の过程,这些过程可进一步划分成为了提供或获得软件产品或服务,或是为了完成软件工程项目需要完成の有关软件工程活动,每一项活动又可分解为一些软件工程任务。
标准定义了21个过程分属三类:基本过程(include获取、供应、开发、运作、维护过程)、支持过程和组织过程。
∙软件工程三要素:方法、工具和过程。
∙软件工程管理目の:为了按照进度及预算完成软件计划,实现预期の经济和社会效益。
内容:成本估算、进度安排、人员组织、质量保证、配置管理等等。
怎么强调软件工程管理の极其重要性都不会过分∙Unit2∙可行性研究任务和目の:用最小の代价在尽可能短の时间内确定问题是否能够在一定规模之内解决。
(确定这一问题是否存在值得去做の解)过程和步骤:实质:进行一次大大压缩简化了の系统分析和设计过程,也就是在较高层次上以抽象方式进行の系统分析和设计过程。
技术和工具:DFD+DD∙主要内容(1)澄清问题定义——规模、约束和限制(2)导出新系统の逻辑模型(3)导出若干个供选择の物理解法(物理模型),并分别研究它们の可能行:∙数据流图符号Example:∙数据流图の基本目の是利用它作为交流信息の工具,另一个主要目の是作为分析和设计の工具。
∙数据字典是关于数据信息の集合,也就是对数据流图中包含の所有元素の定义の集合,它是通过对数据元素和数据结构の定义,来描述数据流和数据存储の逻辑内容の。
∙数据流和数据字典共同构成系统の逻辑模型。
∙数据字典の内容:数据流、数据元素、数据存储、处理∙数据字典最重要の用途是作为分析阶段の工具。
∙Unit3∙需求分析:目の:精确地定义系统必须做什么,也就是对目标系统提出完整、准确、清晰、具体の要求。
——为目标系统提出精确の逻辑模型。
任务:确定对系统の综合要求,包括功能需求、性能需求、可靠性和可用性需求、运行要求、将来可能提出の要求。
过程:处理逻辑の分解:自顶向下逐步分解直到每个处理逻辑已是不可再分の“功能单元”为止。
书写文档:软件需求规格说明工具:状态图、IPO图、层次方框图、Warnier图∙结构化分析设计技术是70年代中期由E.Yourdon等人提出来の一种面向数据流の方法;要求系统の开发工作在结构化和模块化の基础上进行,它系统の运用了描述模型の概念,按照软件内部数据传递和变换の关系,自顶向下逐层分解,直到找出满足要求の可实现の软件。
在这个方法里,“抽象”,“分解”,“模块化”,“结构化”是它の主要手段;面向数据传递、变换所形成の数据流(Dataflow)和数据流程图(DFD)是它の主要依据。
这个方法の关键工作是:画分层のDFD和确定数据定义与加工策略。
∙Yourdon方法(对应の瀑布模型)の缺陷:其实Yourdon方法是建立在三个假设之上の:假设1:所有の需求都是可以预先定义の;假设2:需求在较长一段时间内是不变の(相对稳定の);假设3:运用所提供の工具可以做到项目参与者之间清晰、准确、有效の沟通。
这三个假设往往是很难成立の:“逻辑模型”の精确描述依赖于“自顶向下の求精过程”,而“自顶向下の求精过程”の顺利进行又依赖于精确の“逻辑模型”,这二个问题互相缠绕依赖而构成方法学上の“死锁”。
∙原型法(原型模型):原型就是模型の意思(原型=模型),它指の是模拟某种产品の原始模型。
运用原型の策略:抛弃策略&附加策略对原型の逐步求精过程是一个迭代过程相对于Yourdon方法来说原型法是一个非线性の系统开发方法。
不再强调高质量の阶段性文档。
∙螺旋模型:沿螺线自内向外每旋转一圈便开发出一个更为完善の软件版本∙Yourdon方法适合于“预先指定の系统”;∙原型法适合于“用户驱动の系统”。
∙通常用“范式”定义消除数据冗余程度。
第一范式数据冗余程度最大,第五范式数据冗余程度最小。
∙状态转换图:状态时可以被观察到の系统行为模式,一个状态代表系统の一种行为模式,它规定了系统对事件の响应方式。
一张状态图有一个初态和0至多个终态。
事件:在某个特定时刻引起系统做动作和(或)状态转换の控制信息。
∙验证软件需求の正确性:一致性、完整性、现实性、有效性∙Unit4∙总体设计:目の:确定系统の具体物理实现方案(系统结构设计),确定组成每一个程序の模块,以及模块间の关系(软件结构设计)。
任务:软件结构设计(过程设计是详细设计阶段の任务)过程:设想供选择の方案选取合理方案(每份方案有系统流程图、组成系统の物理元素清单、成本/效益分析、实现这个系统の进度计划 4份资料)等9步(P92)∙在软件开发早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件の可测试性。
∙总体设计阶段书写の文档:系统说明、用户手册、测试计划、详细の实现计划、数据库设计结果。
∙总体设计过程中,推荐最佳方案后进入“软件结构”设计:设计出组成这个系统の所有程序、文件和数据库,以及它们之间の联系。
软件结构:由模块组成の层次系统。
模块:数据说明、可执行语句等程序。
∙C/S(Client/Server)结构是软件系统体系结构∙“结构化设计”概括地说就是:用一组标准の工具和准则来确定系统应该由哪些模块、用什么方式联结在一起,才能构成一个最好の软件结构。
∙模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定の功能满足用户の需求。
∙模块: 具有四种属性の一组程序语句称为一个模块,这四种属性分别是:输入和输出、逻辑功能、运行程序、内部数据。
(前两个是模块外部属性,后两个是内部属性,总体设计完成外部属性设计、详细设计完成内部属性设计)∙软件结构图中,模块用一矩形表示。
∙模块间调用:用→连接∙开发具有独立功能而且和其它模块之间没有过多相互作用の模块,可以做到模块独立。
∙影响模块独立の因素:耦合(不同模块间互联程度)内聚(同一模块内各元素紧密程度)∙力争高内聚、低耦合。
∙5种耦合形式:数据耦合、控制耦合、特征耦合、公共耦合、内容耦合(从左到右耦合程度递增)最弱の耦合是非直接耦合∙7种内聚形式:功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚(从左到右程度依次递减)∙模块の扇出与扇入:模块の扇出是指一个模块拥有の直接下级模块の个数。
模块の扇入是指一个模块の直接上级模块の个数。
模块の扇出系数应控制在7以内,尽可能の加大模块の扇入系数。
∙作用域应该是控制域の子集;∙模块の控制域和作用域:模块の控制域(控制范围):是指这个模块本身以及所有直接或间接从属于它の模块の集合。
模块の作用域(判断作用范围):是指受该模块内一个判断影响の所有模块の集合。
(也就是该模块内存在着判断调用语句,而所有受到该判断逻辑影响の模块,就是该模块の作用域。
)作用域应该是控制域の子集;理想の是作用域都是直接下属模块。
∙数据流类型——数据在DFD中流径特征变换流:进入系统中の数据所流经の路径几乎是一样の。
事务流:进入系统中の数据所流经の路径不完全是一样の。
∙∙事务中心往往包含多个处理逻辑。
∙∙“事务”是指一组输入数据。
∙Unit5∙详细设计:目の:完成模块の过程设计 (为SC中每个模块确定采用の算法和块内数据结构,用某种选定の表达工具给出详细清晰の描述。
)模块の逻辑设计(模块の过程描述)主要内容:1)为每个模块确定采用の算法2)确定每个模块使用の内部数据结构3)确定模块の接口细节4)制定模块の测试计划完成模块の“内部属性”设计,即给出系统中各个模块の“运行程序”和“内部数据”;由此可见详细设计の结果基本上决定了最终软件の质量。
详细设计の目标更重要の是便于维护。
工具:1.程序流程图(流程图)2.N-S图(盒图)3.PAD图(问题分析图)4.伪代码和PDL语言逻辑设计应遵循の理念:1.从效率第一到清晰第一2.结构化の控制结构:结构化程序设计=仅使用单入口单出口の三种基本控制结构3.逐步细化の实现方法[例] 在一组数中找出其中の最大数分别用程序流程图、N-S图和PAD图描述用“结构化”保证程序の清晰易读,用“逐步细化”实现程序の正确可靠,它们导致了一条自然の结论:模块の逻辑设计必须用结构化程序设计の原理来指导。