软件工程概述课程作业
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程课程作业
一、名词解释1、软件软件= 程序+数据+文档2、软件工程软件工程是研究如何将完善的科学与工程原理,先进高效的管理技术以及完整规范的设计方法应用于经济地开发即可靠,又能在实际计算机上有效运行的软件的一门工程学科。
3、软件生命周期软件生命周期是一个软件系统从目标提出、定义、开发、使用和维护,直到最后丢弃的整个过程。
4、模块独立性所谓模块独立性是指模块完成它自身规定的功能而与系统中其它的模块保持一定的相对独立。
5、UMLUnified Modeling Language统一建模语言,是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
二、简答题1、什么是软件危机?危机的主要表现是什么?答:(P6)a)、软件危机是指在软件开发和维护过程中存在的一系列严重问题的通称。
b)、表现:对软件开发的成本和进度难于估计。
软件质量不高,潜在差错的危害。
缺乏完整、正确的文档,维护极困难,难于移植以至于不得不重复开发类似的软件。
传统的手工方法生产效率低,难以满足社会对软件日益增长的需要2、什么是软件开发的工程化?工程化的软件开发方法与早期的程序设计方法的不同点在哪里?答:软件工程学的核心思想是:用工程化的规范方法指导软件的开发、运行及维护工作。
工程化需要包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境⑶.具备统一的工程规范⑷.管理和控制早期的程序开发方法没有统一的指导原则,随意编写程序,强调程序执行效率。
工程化的软件开发方法具有统一的指导原则,规范化的开发软件,强调软件的可理解性,可维护性和可复用性。
3、瀑布模型的主要缺点是什么?原型开发方法有什么好处?答:瀑布模型给出了固定的开发顺序,它的突出缺点是缺乏灵活性。
软件需求往往无法一下子彻底弄清,因此瀑布模型可能导致开发出的不是用户真正需要的软件,或者由于需求不能确定而造成项目后续工作无法开始。
瀑布模型很难适应需求的动态变更,特别是用户对需求处于模糊认识时更为困难。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程概论第一次作业
第一章《软件工程概述》作业一、名词解释1.软件2.软件危机3.软件工程4.软件生存周期5.软件过程模型二、填空题1、在信息处理和计算机领域内,一般认为软件是、和。
2、软件生产的发展经历了时代、时代和时代,各时代的生产方式分别是、和。
3、软件生存周期的8个阶段分别是、、、、、、、。
4、软件工程是利用工程化的原理和方法来进行、和软件的一门学科。
5、描述软件开发过程中各种活动如何执行的模型称为模型。
6、瀑布模型适应需求可变的软件开发,只有到才能见到整个软件系统。
7、软件产品的生产主要是研制,软件产品的成本主要体现在上。
8、软件工程面临的问题有、、、。
三、单项选择题1、软件文档是【】。
A.程序B.工具C.文书和资料D.数据2、软件是一种【】性工业产品A.理论B.知识(或逻辑)C.消耗D.物资3、与计算机科学的理论研究不同,软件工程是一门【】的学科。
A.理论性 B.工程性 C.原理性 D.心理性4、软件工程与计算机科学的性质不同,软件工程着重于【】。
A.理论研究 B.建造软件系统 C.原理探讨 D.原理的理论5、软件工程学科出现的直接原因是【】。
A.计算机的发展 B.其它工程学科的影响C.软件危机的出现D.程序设计方法学的影响6、软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最终目标是【】。
A.软件开发工程化 B.消除软件危机C.实现软件可重用D.程序设计自动化7、由于软件生产的复杂性和高成本,使大型软件的生成出现危机,软件危机的主要表现包括了下述【】方面。
①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证A.①② B.②③ C.④ D.全部8、软件的主要结构和功能是在【】阶段决定的。
A.分析设计B.编程C.测试D.维护9、有关计算机程序功能、设计、编制、使用的文字或图形资料称为【】。
A.软件B.文档C.程序D.数据10、软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型。
软件工程(本)平时作业
《软件工程》平时作业第一次作业:第一章软件工程概述1.软件是一种____A、程序B、数据C、逻辑产品D、物理产品2.软件开发的结构化生命周期方法将软件生命周期划分成A) 计划阶段、开发阶段、运行阶段 B) 计划阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计3.“软件危机”产生的主要原因是____。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件4.判断:(1)软件开发小组的组成人员的素质应该好,而人数则不宜过多。
()(2)文档只起备忘录的作用,可以在软件开发完成后再整理生成。
()(3)总体设计的基本目的就是回答:“概括地说,系统应该如何实现?”这个问题。
()(4)没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。
()(5) 文档是影响软件可维护性的决定因素。
()5.软件工程的结构化生命周期方法中,一般将软件设计阶段再划分为____、_____两个阶段。
6.概念:软件工程、、软件生存周期7.什么是软件危机?为什么会发生软件危机?怎样挽救软件危机?8.什么是软件工程?软件工程的要素是什么?第三章软件需求分析1.原型化方法是用户和设计者之间执行的一种交互过程,适用于__A__系统,它从用户界面设计开始,首先形成__B__,用户__C__并就__D__提出意见。
它是一种__E__型的设计过程。
供选择的答案:A:①需求不确定性高的②需求确定的③管理信息④决策支持B:①用户界面使用手册②界面需求分析说明书③系统界面原型④完善的用户界面C:①改进界面的设计②使用和不使用那种编程语言③程序的结构④运行界面原型D:①同意什么和不同意什么②使用和不使用那种编程语言③程序的结构④执行速度是否满足要求E:①自外向内②自顶向下③自内向外④自底向上2.需求分析最终结果是产生____A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告3.软件计划需经过___________、_____________两个阶段4.结构化分析方法以数据流图、____和加工说明等描述工具,既用直观的图和简洁的语言来描述软件系统模型。
电子科大软件工程作业汇总(附答案)
一、第1章软件工程概述1. Software deteriorates rather than wears out because(软件通常是变坏而不是磨损的原因是)A:Software suffers from exposure to hostile environments(软件暴露在不利的环境中)B:Defects are more likely to arise after software has been used often(软件错误更容易在使用后被发现)C:Multiple change requests introduce errors in component interactions(在组件交互中需求发生变化导致错误)D:Software spare parts become harder to order(软件的备用部分不易组织)2. Today the increased power of the personal computer has brought about an abandonment of the practice of team development of software.(如今个人电脑性能的提升导致遗弃了采用小组开发软件的方式。
)A:True(真)B:False (假)3. Which question no longer concerns the modern software engineer?(现如今的软件工程师不再考虑以下哪个问题?)A:Why does computer hardware cost so much?(计算机硬件为什么如此昂贵?)B:Why does software take a long time to finish?(软件为什么开发时间很长?)C:Why does it cost so much to develop a piece of software?(开发一项软件的开销为什么这么大?)D:Why cann't software errors be removed from products prior to delivery? (软件错误为什么不能在产品发布之前被找出?)4. In general software only succeeds if its behavior is consistent with the objectives of its designers.(通常意义上,只有表现得和设计目标一致的软件才是成功的软件。
软工概论课程设计作业c
软工概论课程设计作业c一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握软件工程的基本概念、目标和原则,了解软件开发过程中的各个阶段及其任务,熟悉软件项目管理的方法和技巧。
2.技能目标:学生能够运用所学的软件工程知识,分析和解决实际软件开发过程中的问题,具备基本的软件项目管理能力。
3.情感态度价值观目标:培养学生对软件工程的兴趣,使其认识到软件工程对于软件产业的重要性,提高学生对软件工程实践的积极性。
二、教学内容本节课的教学内容主要包括以下几个部分:1.软件工程基本概念:介绍软件工程的定义、目标、原则等基本概念。
2.软件开发过程:讲解软件开发过程中的需求分析、设计、编码、测试和维护等各个阶段的任务和注意事项。
3.软件项目管理:介绍软件项目管理的方法和技巧,包括项目计划、进度控制、风险管理、团队协作等。
4.案例分析:分析实际软件开发过程中的成功案例,让学生了解软件工程在实际工作中的应用。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解软件工程的基本概念、原则和软件开发过程。
2.讨论法:学生分组讨论软件项目管理的方法和技巧,分享各自的经验和看法。
3.案例分析法:分析实际软件开发过程中的成功案例,让学生了解软件工程在实际工作中的应用。
4.实验法:安排课后实验,让学生动手实践软件工程的方法和技巧。
四、教学资源为了支持本节课的教学,我们将准备以下教学资源:1.教材:《软件工程概论》及相关参考书籍。
2.多媒体资料:制作课件、案例视频等,以便于讲解和展示。
3.实验设备:提供计算机实验室,让学生进行课后实验。
4.网络资源:利用校园网,为学生提供相关软件工程的学习资源和实践平台。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。
2.作业:布置课后作业,评估学生对所学知识的掌握程度和应用能力。
完整word版软件工程概论期末大作业
软件工程概论期末大作业火车票订票管理信息系统专业年级:学号:名:姓成绩:1目录一、项目概述 (3)二、可行性研究 (3)三、需求分析 (4)3.1系统IPO图 (8)3.2系统的数据流图 (9)四、概要设计 (10)五、详细设计 (10)5.1系统主要功能模块界面图 (11)5.2画出系统某一模块的程序流程图 (15)六、UML模型 (16)6.1 画出系统的用例图 (17)6.2系统客户(功能)的时序图 (18)七、总结 (20)八、附录 (21)2一、项目概述1.1项目简介火车票售票系统是一款针对全国各大乘客集散地,方便工作人员和乘客顺利抵达目的地的便捷操作软件,乘客集散地只需安装本系统,配备专业的操作人员,即可安全、有序地完成人员输送任务。
1.2项目功能火车票售票系统可登记全国各地的客运专线、包括发车时间、到达时间、经过各中转站时间、在各中转站等待时间及发车时间、各站点间距离、票价、各列车车厢容量、座位分布、列车类型、列车车号、车票信息、预定信息、乘客身份信息、乘客携带物品限定信息、车票代售点信息、网络购票、货运信息、网络购票常见问题解决方式、铁路常识等。
1.3功能模块介绍车票票面信息:包含乘车区间(始发站、终点站)、发车时间、发车日期、乘客身份信息(身份证号、姓名)、乘客所乘列车座位信息(列车车厢号、座位号)、乘客乘车须知、票价、座位类型(硬座、硬卧、软座、软卧)。
网络购票信息:查询列车信息(列车时刻表、列车车次)、余票信息、票价信息、退票信息、列车正晚点信息、车票代售点信息、预订信息、货运运费、货运业务咨询。
列车信息:列车车次、列车所属类型(普快、动车、空调特快等)、列车始发站、终点站、中转站、始发时间、到达时间、各站点停靠时间、乘车区间及价格、列车运行时长、已运行时长。
候车室信息:列车车次、列车运行时间(发车时间、到达时间)、对应车次所在候车区域、对应区域所要发车车次。
二、可行性研究2.1可行性研究过程本系统是针对全国各地的旅客,因此这一问题的解决,这一项目的实现,将更简化整个操作流程,减少人工操作以及由人工操作所引起的人为失误,大大降低了对数据的操作量。
软件工程概述课程作业
3.结构化分析方法主要使用了(数据流图、数据词典、结构化英语、判定表和判定树。)几个工具。
4.需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。其实现步骤包括((1)获得当前系统的物理模型。(2)抽象出当前系统的逻辑模型。(3)建立目标系统的逻辑模型。(4)为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充。)
(1)所期望的功能和性能是什么
(2)可靠性和质量问题是哪些
(3)总的系统目标是什么
(4)成本与进度限制如何
(5)制造的需求是什么
(6)市场与竞争情况怎样
(7)有效的技术有哪些
(8)将来可能有哪些扩充
3.软件项目的可行性研究主要集中在哪个方面?
(1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。
4.填空
在成本-效益分析中,有形的效益可以用(货币的时间价值、投资回收期、纯收入)等指标进行度量。
第三章软件需求分析课程作业
一、简述与问答
1.简述软件需求分析的任务。
需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。分析员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据与功能表示。在软件完成后,制定的软件需求规格说明还要为评价软件质量提供依据。
2.软件的需求分析就是解决所开发软件做什么,做到什么程度的问题。它包括诸多需求,这些需求有那些?
软件工程概述课程作业
软件工程概述课程作业软件工程概述软件工程是一门研究如何以系统化、规范化、可定量化的方法开发和维护软件系统的学科。
它涵盖了软件开发的全过程,包括软件需求分析、设计、编码、测试以及软件的维护与管理。
软件工程的目标是提高软件开发的效率和质量,保证软件系统的可靠性和可维护性。
软件工程是一门综合性的学科,它和计算机科学、管理学以及工程学等领域有着紧密的联系。
软件工程的发展源于对软件危机的认识。
在20世纪60年代至70年代的早期计算机发展阶段,人们开始意识到软件开发过程中存在着巨大的问题,包括进度延误、成本超支以及质量低下等。
这些问题被统称为软件危机。
为了解决软件危机,软件工程应运而生。
软件工程的核心概念是软件开发的过程模型。
过程模型定义了软件开发的各个阶段以及每个阶段的活动和任务。
常见的软件开发过程模型包括瀑布模型、迭代模型、敏捷开发模型等。
瀑布模型是最早提出的过程模型,它将软件开发分为需求分析、设计、编码、测试和维护几个阶段,各个阶段按照线性序列依次进行。
迭代模型和敏捷开发模型则更加注重迭代和循序渐进的方式进行软件开发,以适应需求的变化和不确定性。
在软件工程中,软件需求分析是至关重要的一步。
需求分析的目的是确保软件系统能够满足用户的需求。
它包括对用户需求的收集、分析、规范和验证。
需求分析的结果将作为软件设计和编码的基础,它直接影响着软件系统的功能、性能和质量。
软件设计是软件工程中的另一个关键步骤。
软件设计的目标是根据需求分析的结果,制定出满足需求的软件系统的结构和组织方式。
软件设计需要考虑软件系统的架构、模块划分、接口设计以及数据结构和算法等。
好的软件设计能够保证软件系统的可扩展性、可维护性和可重用性。
软件工程的另一个重要领域是软件测试。
软件测试的目的是发现软件系统中的错误和缺陷,并评估系统的质量和可靠性。
软件测试包括单元测试、集成测试、系统测试以及验收测试等。
它需要使用各种测试技术和工具,如黑盒测试、白盒测试、自动化测试等。
软件工程概论实践大作业
软件工程实践项目设计报告( 2011 -- 2012 年度第一学期)课程名称:软件工程概论题目:学生选课系统院系:计算机科学与技术系班级:计算2班组长:王源龙学号:**********组员:梅梦云、时红岩、穆琳琳、黎安娜学生选课系统一、目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的基本知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
二、主要内容1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
2.完成系统的需求分析与设计。
3.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。
4.初步建立系统原型,实现关键的功能,并对系统进行测试。
5.编写需求分析设计报告。
6.三、进度计划四、设计要求1.建立需求描述2.建立用例模型3.建立对象模型4.建立动态模型5.建立功能模型6.编写设计文档本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、维护学生信息、管理成绩、添加教师、维护教师信息和管理选修课程等。
需求分析·建立需求描述1.需求概述1.1课题题目:学生选课系统1.2系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
《软件工程导论》课程大作业-题目及要求
《软件工程专业导论与职业生涯规划》具体要求一、大作业题目(注:每个小组完成一个题目)1、计算机系统软件是什么?具体的系统软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的系统软件进行较为详细的阐述。
2、计算机应用软件是什么?具体的应用软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的应用软件进行较为详细的阐述。
3、阐述计算机软件的发展历程,对比分析各阶段的特征、理论体系、优势与不足。
4、软件危机是什么?列举2~3个具体的软件危机案例。
导致软件危机爆发的原因有哪些?简单阐述现阶段软件危机的具体表现。
5、陈述“软件工程”概念提出的历史背景,包括发生的时间、地点、人物、事件等。
“软件工程”的定义自提出以来,有多种说法。
请尽可能罗列各种说法,并对其中的2~3个说法进行评述。
软件工程的七条基本原理是哪些?分别对每条原理进行较为详细的阐述。
6、软件工程的目标是什么?十个性能是哪些?分别对每个性能进行较为详细的阐述。
7、软件工程研究的主要内容包括哪两个方面?分别对每个方面进行较为详细的阐述。
8、软件开发过程必须遵循的软件工程原则有哪些?分别对每个原则进行较为详细的阐述。
9、软件工程的过程包括哪些?分别对每个过程进行较为详细的阐述。
10、软件生命周期的概念是什么?软件生命周期的划分有哪些阶段?分别对每个阶段进行较为详细的阐述。
11、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的瀑布模型和原型模型进行较为详细的阐述及对比分析,并各举例说明。
12、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的演化模型和喷泉进行较为详细的阐述及对比分析,并各举例说明。
13、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的基于知识的模型和基于构件的模型进行较为详细的阐述及对比分析,并各举例说明。
14、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的变换模型和双赢螺旋模型进行较为详细的阐述及对比分析,并各举例说明。
软件工程课程作业
2012-2013学年《软件工程》课程作业1软件工程简介1.前言本论文对软件工程的概念和思想进行了简单的概述,以及归纳了在软件开发的过程中的各个环节的主要内容。
本文还归纳了软件工程的几个过程模型,并就其中常用的瀑布模型进行了详细的介绍,最后给常用工程制图软件2010 AutoCAD这一软件进行了需求分析,并给出了其需求构成。
2.软件工程概述2.1软件工程概念【1是采用工程的概念、原理、技术和方法来开发与维护“软件工程”-----Software Engineer】软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质量的软件并维护它。
软件工程三要素:方法、工具、过程。
2.2软件工程的过程【2。
三个时期为计划时期、开软件从产生、发展到成熟、直至衰亡为止分为三个时期八个步骤】发时期和运行时期。
计划时期包括问题定义,可行性研究两个过程;开发时期包括需求分析、概要设计、详细设计、编码、测试五个过程,运行时期包括运行与维护过程。
3.详细的开发环节制定计划:确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度;制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
需求分析和定义:当完成制定计划之后,需要对用户的需求去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来。
其主要任务是:对用户提出的要求进行分析并给出详细的定义;编写软件需求说明书及初步的系统用户手册,提交管理机构评审。
软件设计其主要任务是:概要设计:把各项需求转换成软件的体系结构。
结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应;详细设计:对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;编写设计说明书,提交评审。
程序编写:把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
软件工程作业含答案
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。
大工春《软件工程》大作业-无删减范文
大工春《软件工程》大作业大工春《软件工程》大作业1. 简介本文档旨在介绍大工春《软件工程》课程的大作业要求和相关内容。
该作业是课程的主要评估项目之一,要求学生团队合作完成一个软件工程项目,并撰写相应的文档,以展示团队在软件工程实践中的能力。
2. 作业要求2.1 项目选择学生团队可以选择一个真实或虚拟的软件项目进行开发。
项目可以涵盖各个领域,如移动应用、网站、桌面应用等。
团队需提前向教师申请选题,并在教师的指导下进行项目规划。
2.2 团队合作每个团队由3-5名成员组成,要求成员分工明确,项目进度顺利进行。
团队成员需要充分合作,分享经验和知识,确保项目的高质量完成。
团队需要每周向教师提交进度报告,以便教师跟进项目进展和提供指导。
2.3 项目规划在项目启动阶段,团队需要制定详细的项目规划,包括项目目标、需求分析、开发计划、测试计划等。
项目规划应该合理、可行,并在整个项目周期内得到有效执行。
2.4 设计与实现根据项目规划,团队需进行系统设计和实现。
设计阶段需要绘制系统架构图、数据库设计图等,确保系统具有良好的可扩展性和可维护性。
实现阶段需要编写代码,并进行代码审查,保证代码质量。
2.5 测试与调试团队需要制定相应的测试计划,并进行单元测试、集成测试和系统测试,确保系统的功能和性能得到验证。
测试过程中发现的问题应及时修复,并进行相关的调试。
2.6 文档编写团队需要按照要求撰写相关文档,包括但不限于需求文档、设计文档、测试文档、用户手册等。
文档应该清晰、完整地描述项目的各个方面,方便他人理解和使用系统。
2.7 最终展示在项目完成后,团队需要进行最终展示,展示项目的功能、特点和创新之处。
团队成员需要向教师和其他团队展示自己的项目,并回答相关问题。
3. 作业评分教师将根据团队的项目成果、文档质量和最终展示等方面进行评分。
团队成员之间的贡献度也将被考虑在评分中。
评分将综合考虑团队的团结合作精神、创新能力、项目规划与管理能力等因素。
软件工程概述课程作业
软件工程作业与解答第一章软件工程概述1.简述软件的发展过程。
答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至60年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段,约70年代以后。
各个时期软件开发的特点见课本第7页表1.3。
2.简述软件的定义及特点。
答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。
特点见课本第1页至第3页。
3.简述软件的种类。
答:见课本第3页至第6页。
4.什么叫软件危机?答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。
计算机价格的下跌为它的广泛应用创造了极好的条件。
在这一形式下,要求软件能与之相适应。
然而软件技术的进步一直未能满足形式发展提出的要求。
在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。
软件开发时期所面临的这种状态就是所谓的软件危机。
5.软件危机主要有哪几种表现?答:见课本第8页(1)、(2)、(3)、(4)。
6.什么叫软件工程?答:开发、运行、维护和修复软件的系统方法。
7.什么叫软件生存周期?答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。
它包括制定计划、需求分析、设计、程序编码、测试及运行维护。
8.简单介绍软件开发的瀑布型模型和螺线型模型。
答:见课本第11页至第14页。
第二章系统分析1.简述系统分析的目标(1)识别用户要求;(2)评价系统的可行性;(3)进行经济分析和技术分析;(4)把功能分配给硬件、软件、人、数据库和其它系统元素;(5)建立成本和进度限制;(6)生成系统规格说明,形成所有后续工程的基础。
2.系统分析过程的第一步就是识别用户要求。
要求的识别是系统开发的起点。
为此,分析员必须回答哪些问题,才能完成这一步骤?(1)所期望的功能和性能是什么(2)可靠性和质量问题是哪些(3)总的系统目标是什么(4)成本与进度限制如何(5)制造的需求是什么(6)市场与竞争情况怎样(7)有效的技术有哪些(8)将来可能有哪些扩充3.软件项目的可行性研究主要集中在哪个方面?(1)经济可行性。
软件工程作业1[1]
软件工程作业1软件工程作业11. 引言软件工程是一门研究如何以系统性的、经济合理地开发、维护和运行软件的学科。
在软件工程的学习过程中,作业是非常重要的一环。
本文档主要阐述了软件工程作业1的相关内容。
2. 背景软件工程作业1是软件工程课程的第一个作业任务,旨在帮助学生初步了解软件工程的基本概念和方法。
通过完成作业1,学生应能独立思考问题、分析需求、设计解决方案,并按照规定的要求提交作业报告。
3. 作业要求软件工程作业1的要求如下:- 阅读并理解给定的需求文档- 思考并设计解决方案- 使用Markdown文本格式编写作业报告- 作业报告要求包含以下内容:- 对需求文档的理解- 解决方案的设计思路- 实现步骤的描述- 遇到的问题及解决方法- 作业的心得体会和反思4. 解决方案设计根据给定的需求文档,在设计解决方案时,可以参考以下步骤:1. 理解需求:仔细阅读并理解给定的需求文档,确保对需求有清晰的认识。
2. 分析需求:对需求进行系统性的分析,确定主要功能和模块,并将其进行合理划分。
3. 设计方案:根据需求的分析结果,设计合理的解决方案。
可以使用UML图表或其他适合的工具进行模块设计和流程图设计等。
4. 实施步骤:分阶段实施解决方案,按照设计的模块和流程进行编码和测试。
5. 问题解决:在实施过程中,可能会遇到一些问题,需要及时解决。
可以通过查阅相关资料、请教同学或老师等方式解决问题。
6. 作业报告:在完成作业后,按照要求使用Markdown文本格式编写作业报告。
将解决方案的设计思路、实现步骤和遇到的问题等内容详细描述,并总结体会和反思。
5. 遇到的问题与解决方法在完成软件工程作业1的过程中,可能会遇到一些问题,如:- 对需求的理解存在困难:可以通过多次阅读需求文档、请教同学或老师等方式解决。
- 编码和测试时遇到BUG:可以通过调试程序、打印日志等方式定位问题并解决。
- 缺乏有效的工具和资源:可以通过查阅相关资料、探索互联网等途径寻找合适的工具和资源。
软件工程大作业(二)2024
软件工程大作业(二)引言:软件工程大作业是一项重要的任务,要求学生根据所学知识和技能,设计和实现一个完整的软件系统。
该文档旨在概述软件工程大作业的内容,介绍其中的关键步骤和要点。
正文:一、需求分析1.1 了解用户需求和背景信息- 进行用户访谈,明确需求和期望- 调研类似系统,了解行业标准和最佳实践1.2 确定功能需求- 根据用户需求和背景信息,列出功能清单- 在团队中讨论和确认功能的优先级和可行性1.3 定义非功能需求- 确定性能要求,如响应时间和数据处理能力- 定义系统的安全和可靠性要求1.4 编写需求规格说明书- 将所有的需求整理、归纳和文档化- 确保规格说明书准确、清晰和可理解二、系统设计2.1 制定系统结构- 确定整体的系统结构,如分层架构或模块化设计- 确定系统的模块划分和模块间的接口2.2 设计数据库- 根据系统需求,设计适当的数据库结构- 定义数据表、字段和关系2.3 界面设计- 设计用户界面,确保用户友好和易用性- 使用工具创建原型和模拟界面,进行用户测试2.4 算法设计- 确定系统所需的算法和数据结构- 优化算法以提高系统的性能和效率2.5 编写详细设计文档- 将系统设计完整地记录下来,包括各个模块的详细设计三、编码和测试3.1 选择合适的编程语言和开发环境- 根据系统需求和团队成员的技能,选择最适合的工具 - 确保使用的编程语言和开发环境能够支持系统的需求 3.2 编写代码- 根据详细设计文档,逐个模块地编写代码- 遵循编码规范和最佳实践,确保代码质量3.3 进行单元测试- 针对每个模块编写相应的测试用例- 通过单元测试确保每个模块的功能正确和稳定3.4 进行集成测试- 将各个模块整合为一个完整的系统- 测试整个系统的功能和性能3.5 进行系统测试- 利用各种测试方法和技术对整个系统进行综合测试四、部署和维护4.1 部署系统- 准备服务器和网络环境,并安装所需的软件和配置- 将系统上线,确保可用性和稳定性4.2 系统的持续维护- 监控系统运行情况,及时解决问题和修复漏洞- 升级和扩展系统,以满足日益增长的需求五、总结通过软件工程大作业的设计和实现,我们加深了对软件开发全过程的理解。
软件工程作业4-5
软件工程作业4-5软件工程作业4-51. 简介2. 软件工程的核心概念和原则软件工程是一门涉及软件开发与维护的学科,其核心概念包括需求分析、设计、编码、和维护等。
以下是软件工程的核心原则:2.1 可靠性软件工程要求开发出高可靠性的软件系统,以确保软件在各种情况下的稳定性和可靠性。
其中的技术包括错误处理和异常处理机制的设计,以及系统的容错能力。
2.2 可维护性一旦软件系统运行在实际环境中,还需要能够方便地对其进行维护和升级。
可维护性是一个软件系统长期生存和发展的基础。
为了提高软件的可维护性,可以采取合理的软件设计和编码规范。
2.3 可扩展性随着需求的不断变化,软件系统需要能够支持新的功能和特性的添加,而不会对现有功能和特性产生不良影响。
可扩展性的设计可以提高软件系统的灵活性和适应性。
3. 软件开发过程中的重要任务在软件开发过程中,有一些重要的任务需要完成,以确保项目的成功交付。
以下是其中的一些任务:3.1 需求分析需求分析是整个软件工程过程中的第一步,它包括对项目需求的调研和分析。
需求分析的目标是明确项目的功能和要求,为后续的设计和开发工作提供基础。
3.2 设计在需求分析阶段后,需要进行软件系统的设计。
设计包括系统架构设计、模块设计、数据库设计等。
良好的设计能够提高软件系统的可维护性和可扩展性。
3.3 编码在设计完成后,进入编码阶段。
在此阶段,开发人员需要根据设计文档进行编码工作,实现项目需求。
编码过程中,需遵循编码规范,注意代码的可读性和可维护性。
3.4编码完成后,需要进行工作,以验证软件系统的正确性和稳定性。
包括单元、集成和系统等。
通过充分的,可以发现和排除潜在的问题,提高软件的质量。
3.5 维护软件系统交付后,还需要进行维护工作,包括故障修复、功能升级和性能优化等。
维护的目标是确保系统正常运行,并不断满足用户的需求。
4.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程作业与解答第一章软件工程概述1.简述软件的发展过程。
答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至60 年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段,约70年代以后。
各个时期软件开发的特点见课本第7页表1.3。
2.简述软件的定义及特点。
答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。
特点见课本第1页至第3页。
3.简述软件的种类。
答:见课本第3页至第6页。
4.什么叫软件危机?答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。
计算机价格的下跌为它的广泛应用创造了极好的条件。
在这一形式下,要求软件能与之相适应。
然而软件技术的进步一直未能满足形式发展提出的要求。
在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。
软件开发时期所面临的这种状态就是所谓的软件危机。
5.软件危机主要有哪几种表现?答:见课本第8页(1)、(2)、(3)、(4)。
6.什么叫软件工程?答:开发、运行、维护和修复软件的系统方法。
7.什么叫软件生存周期?答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。
它包括制定计划、需求分析、设计、程序编码、测试及运行维护。
8.简单介绍软件开发的瀑布型模型和螺线型模型。
答:见课本第11页至第14页。
第二章系统分析1.简述系统分析的目标(1)(2)(3)(4)(5)(6)识别用户要求;评价系统的可行性;进行经济分析和技术分析;把功能分配给硬件、软件、人、数据库和其它系统元素; 建立成本和进度限制;生成系统规格说明,形成所有后续工程的基础。
2.系统分析过程的第一步就是识别用户要求。
要求的识别是系统开发的起点。
为此,分析员必须回答哪些问题,才能完成这一步骤?(1)(2)(3)(4)(5)(6)(7)(8)所期望的功能和性能是什么可靠性和质量问题是哪些总的系统目标是什么成本与进度限制如何制造的需求是什么市场与竞争情况怎样有效的技术有哪些将来可能有哪些扩充3.软件项目的可行性研究主要集中在哪个方面?(1)经济可行性。
(2)技术可行性。
(3)法律可行性。
(4)抉择。
4.填空在成本-效益分析中,有形的效益可以用(货币的时间价值、投资回收期、纯收入)等指标进行度量。
第三章软件需求分析课程作业一、简述与问答1.简述软件需求分析的任务。
需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
分析员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据与功能表示。
在软件完成后,制定的软件需求规格说明还要为评价软件质量提供依据。
2.软件的需求分析就是解决所开发软件做什么,做到什么程度的问题。
它包括诸多需求,这些需求有那些?功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。
3.简述需求分析评审的主要内容。
a.系统定义的目标是否与用户的要求一致;b.系统需求分析阶段提供的文档资料是否齐全;c.文档中的所有描述是否完整、清晰、准确反映用户要求;d.与所有其他系统成分的重要接口是否都已经描述;e.所开发项目的数据流与数据结构是否足够确定;f.所有图表是否清楚,在不补充说明时能否理解;g.主要功能是否已包括在规定的软件范围之内,是否都已充分说明;h.设计的约束条件或限制条件是否符合实际;i.开发的技术风险是什么;j.是否考虑过软件需求的其他方案;k.是否考虑过将来可能会提出的软件需求;l.是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;m.有没有遗漏、重复或不一致的地方;n.用户是否审查了初步的用户手册;o.软件开发计划中的估算是否受到了影响。
4.软件需求分析的基本原则是什么?(1)必须能够表达和理解问题的数据域和功能域。
(2)必须按自顶向下、逐层分解的方式对问题进行分解和不断细化。
(3)要给出系统的逻辑视图和物理视图。
5.什么是结构化分析方法?结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
6.数据词典的任务什么?.对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
数据词典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。
二、填空1.在软件开发的原型化方法中,原型是指(软件的一个早期可运行的版本,它反映最终系统的部分重要特性)。
2.软件原型化方法是在研究分析阶段的方法和技术中产生的,由于软件项目的特点和运行原型的目的不同,原型主要有((1)探索型(2)实验型。
(3)进化型。
(4)修正和改进)三种不同的作用类型。
3.结构化分析方法主要使用了(数据流图、数据词典、结构化英语、判定表和判定树。
)几个工具。
4.需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。
其实现步骤包括((1)获得当前系统的物理模型。
(2)抽象出当前系统的逻辑模型。
(3)建立目标系统的逻辑模型。
(4)为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充。
)5.需求分析阶段的工作,可以分成(问题的识别、分析与综合、制定规格说明和评审)四个方面。
第四章软件设计课程作业1.一旦确定了软件需求之后,就进入开发阶段。
开发阶段由三个互相关联的步骤组成:(.设计、实现(编码)和测试)。
2.性能主要是指(周转时间响应时间吞吐量精度)四个指标。
3.概要设计阶段完成时应编写的文档包括(概要设计说明书数据库设计说明书用户手册制定初步的测试计划)。
4.概要设计评审的内容主要包括(可追溯性接口风险实用性技术清晰度可维护性质量各种选择方案限制)。
5.软件的结构包括两部分。
其一为(程序模块的层次结构),其二为(数据的结构)。
6.在软件系统的分层模块结构图中,上级模块调用(下级模块)。
它们之间存在主从关系,即自上而下“主宰”,自下而上“从属”。
而同一层的模块之间没有这种主从关系。
7.多扇出意味着需要控制和协调许多(下属模块)。
而多扇入的模块通常是(公用模块)。
8.数据结构设计应确定数据的(组织、存取方式、相关程度、以及信息的不同处理方法)。
9.软件过程着重描述(各个模块的处理细节)。
软件过程必须提供精确的处理说明,包括事件的顺序、正确的判定点、重复的操作直至数据的组织和结构等等。
10.如果模块是相互独立的,当模块变得越小,每个模块的内部结构就变得越(简单),花费的工作量也越低。
11.模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
一般采用两个准则度量模块独立性。
即(模块间的耦合)和(模块的内聚)。
12.在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。
表达过程规格说明的工具可以分为以下三类:(.图形工具)、(表格工具)、(语言工具)。
二、简答题1.为什么软件设计在开发阶段中的具有重要意义?除了维护阶段以外,开发阶段占软件工程总成本的75%以上。
开发阶段的决策将最终影响软件实现的成败,影响软件维护的难易程度。
软件设计是软件开发阶段最重要的步骤。
它是软件开发中质量得以保证的关键步骤。
设计提供了软件的表示,使得软件的质量评价成为可能。
软件设计又是将用户要求准确地转化成为最终的软件产品的唯一途径。
2.在概要设计过程中需要完成的工作具体有哪些?(1)制定规范:在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。
(2)软件系统结构的总体设计:在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计。
在设计阶段,基于这个功能的层次结构把各个部分组合起来成为系统。
(3)处理方式设计:确定为实现软件系统的功能需求所必需的算法,评估算法的性能。
确定为满足软件系统的性能需求所必需的算法和模块间的控制方式(性能设计)。
确定外部信号的接收发送形式。
3.简述数据结构设计的内容确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计。
它包括:1)确定输入、输出文件的详细的数据结构。
2)结合算法设计,确定算法所必需的逻辑数据结构及其操作。
3)确定对逻辑数据结构所必需的那些操作的程序模块(软件包)。
限制和确定各个数据设计决策的影响范围。
4)若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。
5)数据的保护性设计4.在详细设计过程中需要完成的工作有哪些?(1)确定软件各个组成部分内的算法以及各部分的内部数据组织。
(2)选定某种过程的表达形式来描述各种算法。
(3)进行详细设计的评审5.软件设计的最终目标是要取得最佳方案。
“最佳”的含义是指什么?是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间的条件,选择能够赢得较高的生产率、较高的可靠性和可维护性的方案。
在整个设计的过程中,各个时期的设计结果需要经过一系列的设计质量的评审,以便及时发现和及时解决在软件设计中出现的问题,防止把问题遗留到开发的后期阶段,造成后患。
在评审以后,必须针对评审中发现的问题,对设计的结果进行必要的修改。
6.模块具有哪些基本属性?(1)功能:即指该模块实现什么功能。
(2)逻辑:即描述模块内部怎么做。
(3)状态:即该模块使用时的环境和条件。
7.简述数据设计的原则。
(1)用于软件的系统化方法也适用于数据。
(2)要确定所有的数据结构和在每种数据结构上施加的操作。
(3)应当建立一个数据词典并用它来定义数据和软件的设计。
(4)低层数据设计的决策应推迟到设计过程的后期进行。
(5)数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道。
(6)应当建立一个存放有效数据结构及相关操作的库。
(7)软件设计和程序设计语言应当支持抽象数据类型的定义和实现。
8.程序流程图有哪几种基本控制结构?(1)顺序型(2)选择型(3)先判定(while)型循环(4)后判定(until)型循环(5)多情况(case) 型选择。
三、名词解释1.结构图的深度在多层次的结构图中,其模块结构的层次数称为结构图的深度。
结构图的深度在一定意义上反映了程序结构的规模和复杂程度。
2.结构图的宽度结构图中同一层模块的最大模块数称为结构图的宽度3.模块的扇入和扇出扇出表示一个模块直接调用(或控制)的其他模块数目。