第五章详细设计1
软件工程第五章课后题

一、选择题
1.软件管理中,需要对软件进行配置,各阶段文档的管理属于()。
D
A.组织管理
B资源管理
C.计划管理
D.版本管理
2.软件开发的结构化方法中,常用数据字典技术,其中数据加工是
其组成内容之一,下述方法()是常采用编写加工说明的方法。
Ⅰ结构化语言Ⅱ判定树Ⅲ判定表
A.Ⅰ
B.Ⅱ
C.Ⅱ、Ⅲ
D.都是
3.在软件工程实施中,产生软件生命周期的概念是由()。
A.方法论所决定的
B.开发技术划分
C.软件开发规律
D.软件工程管理
二、填空题
1.软件计划包括和两个阶段。
2.软件概要设计的成果是。
3.软件的详细设计,也称模块设计。
它要求设计人员为每一个程序模块确定所使用的,,、输出数据等。
4.结构化分析方法是进行分析的方法。
三、解答题
1.什么是软件的可维护性?可维护性的度量的特性是什么?
2.提高可维护性的方法有哪些?
答案:
一、1.D 2.D 3.A
二、
1.总体设计(或概要设计)详细设计
2.软件设计说明书
3.算法数据结构接口细节和输入
4. 面向数据流
三、
1.软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
2.(1)建立明确的软件质量目标。
(2)利用先进的软件开发技术和工具。
(3)建立明确的质量保证工作。
(4)选择可维护的程序设计语言。
(5)改进程序文档。
工业设计概论课件第五章设计与环境

02
可持续设计理念
绿色设计
总结词
绿色设计是一种将环境因素纳入设计过程的理念,旨在减 少产品对环境的负面影响。
总结词
绿色设计的目标是实现经济效益、社会效益和环境效益的 统一。
详细描述
绿色设计强调在产品生命周期的每个阶段都考虑环境影响 ,从原材料的获取、生产、运输、使用到废弃处理,都力 求降低资源消耗和减少环境污染。
绿色包装设计
要点一
总结词
绿色包装设计还需要考虑生产和运输过程中的环境影响。
要点二
详细描述
在生产和运输过程中,应优化包装结构以减少体积和重量 ,从而降低运输过程中的能源消耗和排放。同时,合理安 排生产和配送计划,以减少等待时间和运输距离。此外, 采用清洁能源和优化仓储管理也是实现绿色包装的重要措 施。这些措施有助于降低整个产品生命周期的环境影响, 实现可持续发展。
自然环境因素
气候条件
设计需考虑当地的气候特点,如温度、湿度、降 雨量等,以适应不同的气候条件。
地理特征
地理位置和地形地貌对设计有重要影响,如山区 和平原的设计差异。
自然资源
设计应充分利用当地的自然资源,如木材、石材 等,以降低成本和环保。
社会环境因素
文化背景
设计应符合当地的文化传统和习惯,以适应当地的社会环境。
法律法规
设计应遵守国家和地区的法律法规,以确保产品的合法性和安全性。
技术发展
设计应跟上技术发展的步伐,利用最新的技术和材料以提高产品的 性能和品质。
人文环境因素
01
人口结构
社会习俗
02
03
审美观念
设计应考虑目标用户的人口结构, 如年龄、性别、教育程度等,以 满足不同用户的需求。
《第五章 第1节 透镜》作业设计方案-初中物理人教版八年级上册

《第1节透镜》作业设计方案(第一课时)一、作业目标通过本次作业,学生应掌握透镜的基本概念和基本原理,了解透镜在日常生活中的应用,同时通过实践操作,加深对透镜的理解。
二、作业内容1. 课堂笔记:学生需详细记录课堂笔记,包括透镜的基本概念、分类、作用以及相关的原理。
2. 课后练习:完成与透镜相关的课后练习题,检验学生对透镜知识的掌握程度。
3. 实验操作:进行一次透镜的简单操作实验,包括正确握持、使用放大镜、显微镜观察物体等,记录实验过程和观察结果。
4. 知识应用:请学生搜集一个透镜在日常生活或学习中的应用实例,分享给全班同学。
三、作业要求1. 笔记和练习:要求认真细致,能够正确理解并应用相关知识。
2. 实验操作:要求按照规定步骤进行操作,观察细致,记录准确。
3. 知识应用:要求真实有效,能够展示透镜在实际生活中的运用。
四、作业评价1. 笔记和练习:评价学生对知识的理解和应用能力。
2. 实验操作:评价学生的实践操作能力和观察能力。
3. 知识应用:评价学生能否将所学知识运用到实际生活中,提高解决问题的能力。
五、作业反馈1. 学生提交作业后,教师将对所有作业进行批改,并将反馈信息及时反馈给学生。
2. 对于普遍存在的问题,教师将在下次课堂上进行集中讲解,帮助学生共同解决。
3. 对于个别学生的问题,教师将进行单独辅导,确保每个学生都能得到充分的指导。
4. 学生可以根据教师的反馈信息,对自己的学习进行及时的调整和改进。
在《第1节透镜》这一课程中,通过本次作业设计方案,我们旨在帮助学生更好地理解和掌握透镜的相关知识,并通过实践操作和知识应用,提高他们的实际应用能力。
我们希望通过这样的作业设计,使学生不仅仅停留在理论知识层面,而是能够将所学知识运用到实际生活中,真正做到学以致用。
我们期待每一位学生都能认真对待这次作业,充分利用这次机会来检验和巩固自己的学习成果。
我们相信,只有通过不断的实践和反思,才能真正掌握透镜的相关知识,并把它们运用到实际生活中去。
第五章 系统设计

三、HIPO技术 技术
HIPO技术即用图形方法表达一个系统的输入和 技术即用图形方法表达一个系统的输入和 输出功能,以及模块的层次。 输出功能,以及模块的层次。HIPO技术包含两 技术包含两 个方面的内容: 个方面的内容: 分层图, (1)HIPO分层图,用此图层表示自项向下分 ) 分层图 解所得系统的模块层次结构。 解所得系统的模块层次结构。 处理-输出图),此图描述 (2) IPO图(输入 处理 输出图),此图描述 ) 图 输入-处理 输出图), 分层图中一个模块的输入,输出和处理内容。 分层图中一个模块的输入,输出和处理内容。
四、系统设计工作的特点
系统设计工作的环境是管理环境和技术环境的结 合。
5.2 系统设计的方法和工具
一、结构化设计方法概述
结构化设计( ) 结构化设计(SD)方法是从建立一个具有良好结构 的系统的观点出发, 的系统的观点出发,基于把一个复杂的系统分解成相 对独立的模块的原则, 对独立的模块的原则,主要研究了将系统分解为不同 模块的方法与技术,分析系统分解时产生的各种影响, 模块的方法与技术,分析系统分解时产生的各种影响, 提出了评价模块结构质量的具体标准, 提出了评价模块结构质量的具体标准,还给出厂从表 达用户要求的数据流图导出模块结构图的规则。 达用户要求的数据流图导出模块结构图的规则。 结构化方法规定了一系列模块的分解协调原则和技术, 结构化方法规定了一系列模块的分解协调原则和技术, 提出了结构化设计的基础是模块化, 提出了结构化设计的基础是模块化,即将整个系统分 解成相对独立的若干模块, 解成相对独立的若干模块,通过对模块的设计和模块 之间关系的协调来实现整个软件系统的功能。 之间关系的协调来实现整个软件系统的功能。
系统结构图的表示方法
模块A 模块A 模块A
系统设计方案完整版

系统设计方案标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]第一章引言1.1 编写目的说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2 背景应包含以下几个方面的内容:A. 待开发软件系统名称;B. 该系统基本概念,如该系统的类型、从属地位等;C. 开发项目组名称。
1.3 参考资料列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。
1.4 术语定义及说明列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。
第二章设计概述2.1 任务和目标说明详细设计的任务及详细设计所要达到的目标。
2.2 需求概述对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。
2.3 运行环境概述对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。
2.4 条件与限制详细描述系统所受的内部和外部条件的约束和限制说明。
包括业务和技术方面的条件与限制以及进度、管理等方面的限制。
2.5 详细设计方法和工具简要说明详细设计所采用的方法和使用的工具。
如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。
第三章系统详细需求分析主要对系统级的需求进行分析。
首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。
3.1 详细需求分析包括:详细功能需求分析详细性能需求分析详细资源需求分析详细系统运行环境及限制条件分析3.2 详细系统运行环境及限制条件分析接口需求分析包括:系统接口需求分析现有硬、软件资源接口需求分析引进硬、软件资源接口需求分析第四章总体方案确认着重解决系统总体结构确认及界面划分问题。
Swe5

第五章详细设计目标:确定应该怎样具体地实现所要求的系统经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。
因此,详细设计的结果基本上决定了最终的程序代码的质量。
衡量程序的质量不仅逻辑正确,性能是否满足要求,更主要的是看其是否容易理解和阅读。
§5.1 结构程序设计产生的背景结构程序设计的概念最早由E.W.Dijkstra 提出。
1965年他在一次会议上指出:“可以从高级语言中取消GO TO语句”,“程序的质量与程序中所包含的GO TO 语句的数量成反比”。
1966年Bohm和Jacopini证明了,只用3种基本的控制结构就能实现任何单入口单出口的程序。
结构程序设计的经典定义如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
结构程序设计的定义尽可能少用GO TO语句的程序设计方法,最好仅在检测出错误时才使用GO TO 语句,而且应该总是使用前向GO TO语句。
三种基本结构AB (a)A BExp(b)A exp T F (c)exp ATF(d)exp A TF DOCASE case1case2case n…¾有时需要立即从循环(甚至嵌套的循环)中转移出来,如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提高很多。
¾LEAVE或BREAK结构实质上是受限制的GO TO 语句,用于转移到循环结构后面的语句。
¾经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环。
¾扩展的结构程序设计:除上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构。
第五章 物流设施规划及其布置设计

• 大规模的配送中心是由许多参加单位共同进行系统规划与实施的。 为了保证系统的统一性,要制定共同遵守的规则,如通讯和信号的 接口、控制方式等。
• (5) 服务水平或内部服务单位划分(S)
• ①服务水平。物流水平包括交货时间、供应保证度等,服 务水平应是合理物流成本下的服务品质。
• ②内部服务单位划分。服务单位划分影响到物流中心的服 务能力,也就说其作业区域(单位)与辅助服务区域(单 位)的设置就不同,其服务功能要素就存在差异,如存储 型的物流中心,其主要功能是仓储,就必须考虑设置面积 占的比重大仓库,如果是转运型的物流中心,其货物换装 理货服务很重要,就应设施面积大的换装理货的场地。
• (4) 物流通路(R)
• 物流通路可从两方面理解,一是供应链物流渠道,因物流 中心在供应链(物流通道)中的位置不一样,其服务的对 象就不一样,也就是说其功能就不一样。二是指的货物在 物流中心根据作业流程安排在作业区域间的流转路线,它 反映货物在物流中心内的流向和距离,它的合理性影响到 物流中心的作业效率与作业成本,特别是商品搬运的效率、 分拣配货的效率。
• (1)配送对象或客户(E)
• 往往客户对象不同,其订货要求就不一样。 也就说其订单品种、规模、数量就存在很大 差异,那么物流中心的设施设备、工具、作 业流程、功能区划与布置等都会存在区别。
• 如果配送对象是经销商,则品种订货量大, 那么物流中心出入库功能要强;
• 如果配送对象是零售店,订货量小、品种多, 物流中心的分拣功能要强。
软件工程各章名词解释

名词解释一个三分 五个十五分第一章 绪论1. 软件2. 文档3. 软件工程4. 软件工程过程5. 软件生存周期6. 软件生存周期模型第二章 软件可行性研究与项目开发计划1. 投资回收2. 纯收人第三章 软件需求分析1. 需求分析2. 数据流3. 数据字典4. 加工5. 数据流图第四章 软件概要设计1. 模块2. 模块化3. 抽象4. 信息隐蔽5. 模块独立性6. 耦合性7. 无直接耦合8. 数据耦合9. 标记耦合10. 控制耦合11. 公共耦合12. 内容耦合13. 内聚性14. 偶然内聚15. 逻辑内聚16. 时间内聚17. 通信内聚18. 顺序内聚19. 功能内聚第五章 软件详细设计1. PAD2. 过程设计语言(PDL)第六章 软件编码1. 程序设计风格2. 程序可移植性第七章 软件测试1. 语句覆盖2. 判定覆盖3. 条件覆盖4. 判定/条件覆盖5. 条件组合覆盖6. 路径覆盖7. 环路复杂性8. 黑盒测试9. 白盒测试10. 驱动模块11. 桩模块12. 单元测试13. 集成测试14. 确认测试15. 调试第八章 软件维护1. 维护2. 校正性维护3. 适应性维护4. 完善性维护5. 预防性维护6. 软件可维护性第九章 软件开发的增量模型1. 原型第十章 面向对象的方法1. 对象2. 类3. 消息4. 方法5. 继承性6. 单重继承7. 多重继承8. 多态性9. 抽象10. 信息隐藏11. 链12. 关联第十一章 软件质量与质量保证1. 软件可靠性2. 效率3. 可维护性4. 可移植性5. 可互操作性6. 适应性7. 可重用性8. 软件设计质量9. 软件程序质量10. 冗余第十二章 软件工程管理1. 软件配置管理2. 软件配置项3. 基线4. 文档第十三章 软件开发环境1. 软件开发环境2. 软件工具3. CASE4. CASE生存期5. CASE工作台软件工程自考名词解释答案第一章 绪论1. 计算机程序及其说明程序的各种文档.2. 文档是有关计算机程序功能,设计,编制,使用的方案或图形资料.3. 用科学知识和技术原理来定义,开发,维护软件的一门学科.4. 软件工程过程规定了获取,供应,开发,操作和维护软件时,要实施的过程,活动和任务.5. 软件生存周期是指一个软件从得出开发要求开始直到该软件报废为止的整个时期.6. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型.第二章 软件可行性研究与项目开发计划1. 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间.2. 在整个生存周期之内的累计经济效益(折合成现在值)与投资之差.第三章 软件需求分析1. 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非不甘落后将用户非不甘落后 需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程.2. 数据流是数据在系统内传播的路径,因此由一组成分固定的数据项组成.3. 数据字典(Data Dic onary, 简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的,无二义性的说明方式为系统的分析,设计及维护提供了有关元素的一致的定义和详细的描述.4. 加工又称为数据处理,是对数据流进行某些操作或变换.5. 数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程.第四章 软件概要设计1. 模块在程序中是数据说明,可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合,分解和更换的单元.2. 模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成若干模块的过程.每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能.3. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素.4. 信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的.5. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单.6. 耦合性也称块间联系.指软件系统结构中各模块间相互联系紧密程序的一种度量.7. 无直接耦合指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息.8. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.9. 标记耦合指两个模块之间传递的是数据结构,如高级语言的数组名,记录名,文件名等这些名字即为标记,其实传递的是这个数据结构的地址.10. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关,标志等),被调模块通过该控制变量的值有选择地执行块内某一功能.11. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合.公共数据环境可是是全程变量或数据结构,共享的通信,内存的公共覆盖区及任何存储介质上的文件,物理设备等(也有将共享外部设备分类为外部耦合).12. 当一个模块直接使用另一个模块的内部数据,或通过非正常口转入另一个模块内部,这种模块之间的耦合为内容耦合.13. 内聚块又称块内联系指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.14. 偶然内聚指一个模块内的各处理元素之间没有任何联系.15. 逻辑内聚指模块内执行个逻辑上相似的功能,通过参数确定该模块完成哪一个功能.16. 把需要同时执行的动作组合在一起形成的模块为时间内聚模块.17. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据.18. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入.19. 功能内聚指模块内所有元素共同完成一个功能,缺一不可.因此模块不能再分割.第五章 软件详细设计1. PAD图指问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.2. 过程设计语言(Process Design Language,简称PDL),也称程序描述语言(Program Descrip on Language),又称为伪码.它是一种用于描述模块自法设计和处理细节的语言.第六章 软件编码1. 程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.2. 指程序从一个计算机环境移值到另一个计算机环境的容易程序.第七章 软件测试1. 语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.2. 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次”真”和”假”值,从而使程序的每一个分支至少都通过一次.3. 条件覆盖指设计足够的测试用例,使得判定表达工中每个条件的各种可能的值出现一次.4. 判定/条件覆盖标准指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次.5. 条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.6. 路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径.7. McCabe定义程序图的环路为程序图中区域的个数.区域个数为边和结点圈定的封闭区域数加上图形外的区域数1.8. 黑盒测试是功能测试又称为功能测试或数据驱动测试.9. 白盒测试是对程序中尽可能多和逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.10. 驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被模块,接收被测模块的测试结果并输出.11. 桩模块用来代替被测试模块所调用的模块它的作用是返回被测模块所需的信息.12. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.13. 集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试,故也称组装测试或联合测试.14. 确认测试又称有效性测试.是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试.15. 调试是为了确定错误的原因和位置,并改正错误所进行的工作,因此调试也称为纠错.第八章 软件维护1. 在软件运行/维护阶段对软件产品所进行的修改就是维护.2. 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.3. 随着计算机的飞速发展,计算机硬件,软件及数据环境在不断发生变化,为了使应用软件适应这种变化而修改软件的过程称为适应性维护.4. 在犯罪分子件运行时期中,用户往往会对软件提出新的功能要求与性能要求.这种增加软件功能,增强软件性能,提高软件运行效率而进行的维护活动称为完善性维护.5. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护.6. 软件可维护性是指软件能够被理解,校正,适应及增强功能的容易程度.第九章 软件开发的增量模型1. 软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性.第十章 面向对象的方法1. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件.2. 具有相同或相似性质的对象的抽象就是类具有相同或相似性质的对象的抽象就是类3. 对象之间进行通信的构造叫做消息.4. 类中操作的实现过程叫做方法,一个方法有方法名,参数,方法体.5. 继承性是子类自动共享父类数据结构和方法的机制这是类之间的一种关系.6. 在类层次中,子类只继承一个父类的数据结构和方法,称为单重继承.7. 在类层次中,子类继承了多个父亲的数据结构和方法,称为多重继承.8. 多态性是指相同的操作或函数,过程可作用于多用户种类型的对象上并获得不同结果.不同的对象收到同一消息可以产生不同的结果,这种现象称为多态性.9. 抽象是指强调实体的本质,内在的属性,忽略一些无关紧要的属性.10. 信息隐蔽是指所有软件部件内部都有明确的范围以及清楚的外部边界每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离.11. 链表示对象间的物理与概念联结.12. 关联表示类之间的一种关系,就是一些可能的链的集合.第十一章 软件质量与质量保证1. 软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度.2. 为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度.3. 找到并改正程序中的一个错误所需代价的程度.4. 将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需的工作量.5. 将一个系统耦合到另一个系统所需的工作量.6. 修改或改进一个已投入运行的软件所需工作量的程度.7. 一个软件能再次用于其他相关应用的程度.8. 设计的规格说明书要符合用户的要求.9. 程序要按照设计规格说明所规定的情况正确执行.10. 冗余是指实现系统规定功能是多余的那部分资源,包括硬件,软件,信息和时间.第十二章 软件工程管理1. 软件配置管理,简称SCM,是一组管理整个软件生存期各阶段中变更的活动是一组管理整个软件生存期各阶段中变更的活动2. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位.3. 基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果.4. 文档是指某种数据媒体和其中所记录的数据.在软件工程中,文档用来表示对需求,工程或结果进行描述,定义,规定,报告或认证的任何书面或图示的信息.它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令.第十三章 软件开发环境1. 软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成.2. 软件工具是指为支持计算机软件的开发,维护,模拟,移植或管理而研制的程序系统.3. CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发.4. 一个组织中的CASE系统从被始需求到完全废弃这一生存期.5. 一个CASE工作台是一组工具集,支持像设计,实现或测试等特定的软件开发阶段.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PDL有以下几种基本描述结构: 有以下几种基本描述结构: 有以下几种基本描述结构 (1)顺序结构:自然语言描述; )顺序结构:自然语言描述; (2)选择结构: )选择结构: 语句。 ① IF – ELSE 语句。 IF 条件 IF 条件 或 处理 S 处理 S1 ENDIF ELSE 处理 S2 结构。 ③ CASE 结构。 ENDIF CASE OF 结构。 ② IF - ORIF – ELSE 结构。 CASE (1) 条件1 IF 条件 处理 S1 CASE (2) 处理 S1 处理 S2 ORIF 条件 2 处理 S2 ELSE 处理 Sn ENDCASE ELSE 处理 Sn … … ENDIF
§5.1 基本任务
5.2 结构化程序设计方法 • 详细设计并不是具体的编程序,而是细化成很容易产生程序的 详细设计并不是具体的编程序, 描述方式。 描述方式。 • 结构化程序设计可以指导人们用良好的思想方法开发易于理解、 结构化程序设计可以指导人们用良好的思想方法开发易于理解、 易于验证的程序。 易于验证的程序。 结构化程序设计方法的基本要点(识记): 结构化程序设计方法的基本要点(识记) 1.采用自顶向下、逐步求精的程序设计方法。 1.采用自顶向下、逐步求精的程序设计方法。 采用自顶向下 设计模块内部的处理过程时,采用逐步求精, 设计模块内部的处理过程时,采用逐步求精,降低处理细节 的复杂度。 的复杂度。
Then 部分
选择结构
值1
值n
A 子程序调用
Case1 Case2 …… Case n 部分 部分 部分 多分支选择结构 5.3.0 盒图
过程设计语言---PDL(简单应用) ---PDL 5.3.3 过程设计语言---PDL(简单应用) 过程设计语言也称“程序描述语言” 又称“伪码” 过程设计语言也称“程序描述语言”,又称“伪码”。它是 一种用于描述模块算法设计和处理细节的语言。 一种用于描述模块算法设计和处理细节的语言。 过程设计语言一般分为内外两层。 过程设计语言一般分为内外两层。 外层语法应符合一般程序设计语言常用的语法规则, 外层语法应符合一般程序设计语言常用的语法规则, 而内层语法则用一简单的句子、 而内层语法则用一简单的句子、短语和通用的数学 符号来描述程序执行的功能。 符号来描述程序执行的功能。 PDL具有严格的关键字外层语法,用于定义控制结构、 具有严格的关键字外层语法,用于定义控制结构、 具有严格的关键字外层语法 数据结构和模块接口, 数据结构和模块接口,而它表示实际操作和条件内层 内层语法却灵活自由,使用自然语言词汇。 内层语法却灵活自由,使用自然语言词汇。
§5.2 SP方法 SP方法
2.使用三种基本控制结构构造程序过程 使用三种基本控制结构构造程序过程 三种基本控制结构:顺序、选择、 三种基本控制结构:顺序、选择、重复 共同特点:单入口,单出口。可限制GOTO语句使用。 语句使用。 共同特点:单入口,单出口。可限制 语句使用 • 对模糊问题使用三种结构分解,可以使之明朗和细化 对模糊问题使用三种结构分解, (1)用顺序方式对过程分解,确定各部分的执行顺序 )用顺序方式对过程分解, (2)用选择方式对过程分解,确定某个部分的执行条件 )用选择方式对过程分解, (3)用重复方式对过程分解,确定某个部分的开始与约束条件 )用重复方式对过程分解, (4)对处理过程仍然模糊的部分反复利用以上的分解方法,最 )对处理过程仍然模糊的部分反复利用以上的分解方法, 终可将所有的细节确定下来。 终可将所有的细节确定下来。
3.主程序员组织形式 3.主程序员组织形式 指组织方式: 指组织方式: 主程序员 核心成员 主程序员 后备程序员
程序管理员 其他一些专家:如通讯专家、 其他一些专家:如通讯专家、数据库专家 其他技术人员
• 由一个主程序员负责全部技术活动, 一个后备程序员协调 由一个主程序员负责全部技术活动, 支持主程序员,一个程序管理员负责事务性工作,以这样三 支持主程序员,一个程序管理员负责事务性工作 以这样三 人为核心,再加上一些专家和其他技术人员组成小组。 人为核心,再加上一些专家和其他技术人员组成小组。
WHILE i≤9
D>A(i)>C i=i+1
C=A(i)
F
优点: 优点: 1,层次清晰。 ,层次清晰。 2,支持逐步求精的设计方法. ,支持逐步求精的设计方法 3,易读易写,使用方便。 ,易读易写,使用方便。 4,支持结构化程序设计原理。 ,支持结构化程序设计原理。 5,可以自动生成程序源代码。 ,可以自动生成程序源代码。
定义A( 细化) 定义 (对A细化) 细化 条件
A B
CASE 1 2 .
A A M S1 S2 S3 … …
分支选择 def
… …
• PAD图是由左向右展开的二维树型结构图。 图是由左向右展开的二维树型结构图。 图是由左向右展开的二维树型结构图 PAD图的控制流程为自上而下、从左到右的执行。 图的控制流程为自上而下、从左到右的执行。 图的控制流程为自上而下 图描述: 例:上例:用PAD图描述: 上例: 图描述
第五章 软件详细设计
• 主要内容:
– 详细设计任务 – 结构化程序设计方法 – 详细设计的描述方法 – Jackson方法
5.1 详细设计的基本任务
软件详细设计: 软件详细设计:是在概要设计的基础上对软件结构进行进 一步细化,主要确定每个模块的具体执行过程, 一步细化,主要确定每个模块的具体执行过程,也称 过程设计” “过程设计”。 注意: 注意: • 详细设计不是具体的编程序,而是要产生一些文档,利用 详细设计不是具体的编程序,而是要产生一些文档, 其中一些很细化的图纸可以容易地产生程序。 其中一些很细化的图纸可以容易地产生程序。 • 详细设计的结果基本决定了最终程序的质量。 详细设计的结果基本决定了最终程序的质量。 • 详细设计的目标不仅是在逻辑上正确地实现每个模块的 功能,还应使设计出的处理过程清晰易读。 功能,还应使设计出的处理过程清晰易读。
§5.1 基本任务
4,其他设计: 其他设计: 包括: 包括: 代码设计: (1)代码设计: 对数据库的某些数据项的值要进行代码设计。 对数据库的某些数据项的值要进行代码设计。 为了提高数据的输入、分类、存储、检索等操作效率, 为了提高数据的输入、分类、存储、检索等操作效率, 节约空间; 节约空间; 输入/输出格式设计。 (2)输入/输出格式设计。 人机对话设计。 (3)人机对话设计。如:实时系统中人机对话 5.编写详细设计说明书(见书后目录) 5.编写详细设计说明书(见书后目录) 编写详细设计说明书 6.评审 6.评审
程序流程图有三种控制结构:顺序、选择、重复(循环) 顺序、选择、重复 顺序
A T B 顺序 C T B T
§5.3 详细设计描述法 5.3.1 程序流程图
C A F 选择
F A B
C B B
….
E
多分支选择
C
F
其中AB又可以是三 其中 又可以是三 种语句之一
“当型”循环 当型” 当型
“直到”循环 直到” 直到
盒图---NS图 简单应用) ---NS 注: 盒图---NS图(简单应用)
这种方式没有箭头,用方框描述程序的各种元素 第一个任务 第二个任务 第三个任务 顺序结构 Case条件 值2 …… F 条件 T 循环条件 循环体 Do-While 循环结构 循环体 循环条件 Do-Until 循环结构
Else 部分
5.3 详细设计描述法
详细设计常用三种工具:程序流程图、PAD图 详细设计常用三种工具:程序流程图、PAD图、过程设计语言 程序流程图(非结构化流程图) 简单应用) 5.3.1 程序流程图(非结构化流程图)(简单应用)
程序流程图又称“程序框图” 它是历史最悠久、 程序流程图又称“程序框图”,它是历史最悠久、使用 最广泛的一种描述程序逻辑结构的工具。 最广泛的一种描述程序逻辑结构的工具。
• PAD图是问题分析图,1979由日立公司提出的一种算法描 PAD图是问题分析图,1979由日立公司提出的一种算法描 图是问题分析图 述工具。 述工具。 • 组成:三种基本控制结构:顺序、选择、重复 组成:三种基本控制结构:顺序、选择、 A B 顺序 WHILE 条件 “当型”循环 当型” 当型 UNTIL 条件 “直到”循环 直到” 直到 A 选择 A A
基本任务: 基本任务:
1.对每个模块进行详细的算法设计。 1.对每个模块进行详细的算法设计。 对每个模块进行详细的算法设计 用图形、表格、 用图形、表格、语言等工具将每个模块处理过程的详细 算法描述出来。 算法描述出来。 2.模块内的数据结构的设计 2.模块内的数据结构的设计 确切的定义在需求分析 概要设计中确定的概念性的数据类型。 在需求分析、 确切的定义在需求分析、概要设计中确定的概念性的数据类型。 3.对数据库进行物理设计 3.对数据库进行物理设计 确定数据库的物理结构:存储记录格式、 确定数据库的物理结构:存储记录格式、存储记录安排 和存取方法等。 和存取方法等。
(3) 重复语句。 ① FOR 结构 FOR i=1 TO n 循环体 ENDFOR ② WHILE 结构。 WHILE 条件 循环体 ENDWHILE ③ UNTIL 结构。 REPEAT 循环体 UNTIL 条件 例:上例:用PDL描述:
PROCEDURE 求最大数和次大数( ) 求最大数和次大数( DECLARE 数组 A[10]; 开始 DECLARE 整数 D,C,i; ; i=1; ; 输入A(1)---A(10)的值 输入 的值 FOR TO 10; GET (A[i]); ; 置初值D=A(1),i=2 置初值 , ENDFOR D=A[1]; ; 求最大值D 求最大值 FOR i=2 TO 10 IF D<A[i] 置初值C=A(1),i=2 置初值 , D=A[ i ]; ENDIF; 求次大值C 求次大值 ENDFOR; C=A[1]; 结束 T FOR i=2 TO 10 def C=A(i) IF D>A[ i]>C D>A(i)>C C=A[ i]; F WHILE i≤9 求次大值C 求次大值 ENDIF; i=i+1 ENDFOR; T def D=A(i) RETURN; D<A(i) END F WHILE i≤9 求最大值D 求最大值 i=i+1