第一章软件工程概述。
3﹑什么是软件危机?主要表现在哪些方面?
软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
表现方面:
1) 用户对开发出的软件很难满意。
2) 软件产品的质量往往靠不住。
3) 一般软件很难维护。
4) 软件生产效率很低。
5) 软件开发成本越来越大。
6) 软件成本与开发进度难以估计。
7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
4﹑什么是软件工程?它目标和内容是什么?
软件工程:就是用科学的知识工程和技术原理来定义,开发,维护软件的一门学科。
软件工程的目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程的内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:
软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?
软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?它有哪几个活动?
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
7﹑什么是软件生存周期模型?有哪些主要模型?
生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
8﹑什么是软件开发方法?有哪些主要方法?
使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:结构化方法,jackson方法,维也纳开发方法﹙vdm﹚,面向对象开发方法。
9、软件工程方法学包含3个要素分别是什么?
分别是:方法、工具和过程。
方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;
工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;
过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
10、什么是软件过程?
为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。在完成开发任务时必须进行一些开发活动,并且使用适当的资源,在过程结束时将把输入转化为输出。
11、瀑布模型的特点及优点?
特点:(1)各个阶段的顺序性和依赖性;
(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;
(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。
优点:可强迫开发人员采用规范的方法(例如,结构化技术);
严格地规定了每个阶段必须提交的文档;
要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
12、螺旋模型的优点?
对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;
减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;
在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
螺旋模型主要适用于内部开发的大规模软件项目。项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,只有内部开发的项目,才能在风险过大时方便地中止项目。
13、快速原型的分类、特点及使用策略?
分类:探索型、实验型、进化型。
特点:尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。
快速原型应该具备的第一个特点是“快速”;
快速原型应该具备的第二个特点是“容易修改”。原型的“修改—试用—反馈”过程可能重复多遍。
使用策略:废弃策略和追加策略。
14、软件工程的目标?
付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
15、软件开发技术主要研究内容?
软件开发方法,开发过程,开发工具和环境。
16、软件开发管理主要研究内容?
软件管理学,软件经济学,软件心理学。
17、快速原型开发的步骤?
快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。
18、某计算机系统投入使用后、 5年内每年可节省人民币 2o0o元,假设系统的投资额为5000元,年利率为 12%。试计算投资**期和纯收入。
第二章可行性研究。
1、可行性研究的任务是什么?
可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从四个方面考虑:
.技术可行性:一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;
.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。
.法律可行性:要开发的项目是否存在任何侵权问题。
4).管理可行性:运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。
4、什么是数据流图?其作用是什么?
数据流图(dfd):以图形的方式描述数据在系统中流动和处理的逻辑过程。只反映系统必须完成的逻辑功能,是一种功能模型。
5、什么是数据字典?其作用是什么?共有哪些条目?
数据字典(dd)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。
7、某图书管理系统有以下功能:
借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)
还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。
查询:通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。
解:8、某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。
请用dfd,idef0描绘该功能的需求,并建立相应数据字典。
9、一个考务处理系统的要求如下,试画出该系统的数据流图。
1) 对考生送来的报名表进行检查;
2) 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
3) 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;
4) 填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
5) 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
1)顶层数据流图。
(2) 第1层数据流图。
3) 第2层数据流图
加工1子图:
加工2子图:
10、系统流程图。
是概括地描绘物理系统的传统工具,表达的是数据在系统各部件之间流动的情况,11、原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。
原型化方法主要用于解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。 这种方法的主要优点如下:
1)明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分,用户对原型的评价可以指出需求中的许多问题。
2) 探索设计选择方案原型作为一种设计工具,可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。
3)发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。
4)这种方法的主要缺点包括:
1) 用户看到一个正在运行的原型便以为产品即将完成,他们会要求不再进行产品重建,而只是对原型进行一些修改就交付。由于原型没有考虑软件的总体。
质量和可维护性,交付原型往往造成"欲速则不达"的情况。
2) 开发人员为了快速构造原型,可能会采用不合适的操作系统或程序设计语言,也可能使用一些效率低的算法。在一段时间的开发之后,他们往往已经习惯了这些选择,于是便在系统中参杂了这些不理想的选择。
第三章需求分析
1、什么是需求分析?需求分析阶段的基本任务是什么?
需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务:
问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。
分析与综合,导出软件的逻辑模型 。
编写文档:包括编写"需求规格说明书","初步用户使用手册","确认测试计划","修改完善软件开发计划" 。
2、什么是结构分析方法?该方法使用什么描述工具?
结构化分析:简称sa,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。
3、结构化分析方法通过哪些步骤来实现?
了解当前系统的工作流程,获得当前系统的物理模型。 ⑵抽象出当前系统的逻辑模型。 ⑶建立目标系统的逻辑模型。 ⑷作进一步补充和优化。
4、e-r图中包含哪几种种基本成分?
实体(即数据对象)、关系和属性。
5、联系可分为哪几种类型?
一对一联系(1∶1),一对多联系(1∶n),多对多联系(m∶n)
6、为何要进行数据结构规范化?
为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程。
2019 软件工程 期末重点复习
题型。填空 12 1分。名词解释 3 4分。问答题 3 8分。用例设计 1 8分。建模 1 44分。第一章软件和软件工程。1.软件的定义 软件是 1 指令的集合 计算机程序 通过执行这些指令可以满足预期的特征 功能和性能需求 2 数据结构,使得程序可以合理利用信息 3 软件描述信息,它以硬拷贝和虚拟...
软件工程复习
单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...
软件工程复习
软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...