软件工程概述课程作业

合集下载

软件工程概论课后答案

软件工程概论课后答案

第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

软工概论课程设计作业c一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握软件工程的基本概念、目标和原则,了解软件开发过程中的各个阶段及其任务,熟悉软件项目管理的方法和技巧。

2.技能目标:学生能够运用所学的软件工程知识,分析和解决实际软件开发过程中的问题,具备基本的软件项目管理能力。

3.情感态度价值观目标:培养学生对软件工程的兴趣,使其认识到软件工程对于软件产业的重要性,提高学生对软件工程实践的积极性。

二、教学内容本节课的教学内容主要包括以下几个部分:1.软件工程基本概念:介绍软件工程的定义、目标、原则等基本概念。

2.软件开发过程:讲解软件开发过程中的需求分析、设计、编码、测试和维护等各个阶段的任务和注意事项。

3.软件项目管理:介绍软件项目管理的方法和技巧,包括项目计划、进度控制、风险管理、团队协作等。

4.案例分析:分析实际软件开发过程中的成功案例,让学生了解软件工程在实际工作中的应用。

三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解软件工程的基本概念、原则和软件开发过程。

2.讨论法:学生分组讨论软件项目管理的方法和技巧,分享各自的经验和看法。

3.案例分析法:分析实际软件开发过程中的成功案例,让学生了解软件工程在实际工作中的应用。

4.实验法:安排课后实验,让学生动手实践软件工程的方法和技巧。

四、教学资源为了支持本节课的教学,我们将准备以下教学资源:1.教材:《软件工程概论》及相关参考书籍。

2.多媒体资料:制作课件、案例视频等,以便于讲解和展示。

3.实验设备:提供计算机实验室,让学生进行课后实验。

4.网络资源:利用校园网,为学生提供相关软件工程的学习资源和实践平台。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。

2.作业:布置课后作业,评估学生对所学知识的掌握程度和应用能力。

完整word版软件工程概论期末大作业

完整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可行性研究过程本系统是针对全国各地的旅客,因此这一问题的解决,这一项目的实现,将更简化整个操作流程,减少人工操作以及由人工操作所引起的人为失误,大大降低了对数据的操作量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.模块的扇入和扇出扇出表示一个模块直接调用(或控制)的其他模块数目。

相关文档
最新文档