软件工程作业1
- 格式:docx
- 大小:172.34 KB
- 文档页数:9
1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。
危机原因:1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。
2、主客观不相适应。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?►基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。
►软件工程定义:是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.►软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。
本质特性:P6消除软件危机:软件工程基本原理7条。
1-6 什么是软件过程?它与软件工程方法学有何关系?►软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
►过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。
关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。
1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
1.软件危机的概念:软件危机是计算机软件开发和维护过程中所遇到的一系列严重问题。
主要包括下列两个方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护不断增多的已有软件。
典型表现:对软件开发成本和进度的估计常常很不准确;用户对交付的软件经常不满意;软件产品的质量往往达不到要求;开发出来的软件通常难以维护;软件产品文档资料不适用和不完善;软件成本在整个系统总成本中所占比例逐年上升;软件开发生产率的提高不能满足对软件需求的增长;出现软件危机的原因:与软件本身的特点有关成本高、风险大、难于维护、逻辑复杂。
软件是计算机系统中的逻辑实体而不是物理实体,软件生产与硬件不同,在它的开发过程中没有明显的制造过程。
软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。
在软件的运行过程中,没有“用坏”的问题。
软件维护意味着修正原来的设计,较为困难。
与软件开发与维护的方法不正确有关软件专业人员对软件开发和维护存在糊涂观念,在实践过程中采用了错误的方法和技术。
如忽视软件需求分析的重要性;轻视软件维护。
3.软件工程的概念:软件工程是指导计算机软件开发与维护的一门工程学科。
采用工程的概念、原理、方法和技术来开发和维护软件。
将经过时间和实践考验而证明正确的管理方法和最好的技术手段结合起来,经济有效地开发和维护软件。
软件工程是一门不断发展的学科。
软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它采用经过实践验证的工程的原则、方法,以提高质量,降低成本为目的。
本质特征:关注于大型程序的构造控制软件复杂性适应软件的经常变化性提高软件开发的效率和谐合作开发软件使软件有效地支持它的用户需求软件是有一种文化背景的人为另一种文化背景的人开发的产品。
用软件工程来消除软件危机:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具6.软件过程的概念:软件过程是为了获得高质量的软件需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。
软件工程作业1软件工程作业1====================1-引言--------------------2-项目背景--------------------在此章节中,需要详细介绍软件工程作业1的项目背景和项目的目标。
描述项目的背景信息,包括相关的行业、应用领域和目标用户群体等。
明确项目的目标,即开发一个什么样的软件或系统,并说明该软件或系统的主要功能和优势。
3-需求分析--------------------在本章节中,将对项目的需求进行详细的分析和规格说明。
包括用户需求和系统需求的分析,将用户需求转化为可量化和可测量的系统需求。
在此章节中,需要明确项目的功能需求、性能需求、安全需求等各个方面的需求。
4-设计在此章节中,将进行系统的整体设计和详细设计的说明。
首先,进行系统的整体架构设计,包括模块划分、功能划分和模块间的关系等。
然后,对各个模块进行详细设计,并给出相应的设计文档,包括类图、时序图、状态图等。
最后,说明系统的界面设计和用户界面的交互。
5-开发--------------------在本章节中,将详细介绍项目的开发过程和开发环境的配置。
描述项目的开发过程中所采用的开发方法和开发工具。
对于项目的开发环境,包括开发语言、开发框架、集成开发环境等的配置和使用,都需要进行详细的说明。
6-测试--------------------在此章节中,将介绍软件工程作业1的测试策略和测试计划。
描述测试的范围、测试的方法和测试的步骤等。
针对不同的测试阶段,包括单元测试、集成测试、系统测试等,都需要给出相应的测试计划和测试用例。
7-附件本文档附带的附件包括项目的相关文档、设计图纸、测试样例等。
这些附件能够更加全面地展示软件工程作业1的开发过程和实现结果。
8-法律名词及注释--------------------在此章节中,列出本文档涉及的法律名词及其相应的注释解释。
这些法律名词的注释将有助于读者更好地理解和解释相关内容。
题目1.()是职业软件工程师的必要条件。
A. 编程速度快
B. 语言天赋
C. 熟悉众多的软件环境
D. 自律、善于沟通、具有一定的软件技能
【答案】:自律、善于沟通、具有一定的软件技能
题目2.根据软件工程的7条基本原理判断下面正确的选项是()。
A. 需求阶段一般不会引入错误
B. 软件错误发现的时机不重要,重要的是错误的严重程度
C. 软件错误只能通过运行代码才能发现
D. 软件错误发现的越早改正的成本越低
【答案】:软件错误发现的越早改正的成本越低
题目3.美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。
A. 5
B. 3
C. 7
D. 12
【答案】:7
题目4.软件、程序和代码是()。
A. 计算机代码和数据
B. 相同的软件概念
C. 三个不同的概念
D. 程序语言写的代码
【答案】:三个不同的概念。
软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。
(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。
(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。
11.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需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
43.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。
.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。
(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。
(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。
64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。
75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。
《软件工程》在线作业一《软件工程》在线作业一-0002试卷总分:100 得分:0一、单选题 (共 20 道试题,共 100 分)1.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是()A.逻辑判断B.层次分解C.操作条目D.组合条件2.结构图中,不是其主要成分的是()。
A.模块B.模块间传递的数据C.模块内部数据D.模块的控制关系3.确认测试中,作为测试依据的文档是()。
A.需求规格说明书B.设计说明书C.源程序D.开发计划4.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和()。
A.详细计划B.可行性分析C.运行阶段D.测试与排错5.DFD中的每个加工至少有()。
A.一个输入流或一个输出流B.一个输入流和一个输出流C.一个输入流D.一个输出流6.详细设计与概要设计衔接的图形工具是()。
A.DFD图B.SC图C.PAD图D.程序流程图7.软件工程的出现主要是由于()。
A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展8.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标()。
A.需求分析阶段B.详细设计阶段C.概要设计阶段D.可行性研究阶段9.结构化设计方法在软件开发中,用于()。
A.测试用例设计B.软件概要设计C.程序设计D.软件详细设计10.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.要让软件做什么B.要给该软件提供哪些信息C.要求软件工作效率怎样D.要让软件具有何种结构11.软件需求说明书在软件开发中具有重要作用,但其作用不应该包括()。
A.软件设计的依据B.用户和开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性分析依据12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大()。
软件工程形考作业1一、填空题软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。
系统流程图是(描绘物理系统)的传统工具。
二、判断题软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(利用瀑布模型,如果发现问题修改的代价很低。
四、简答题(1)软件的定义与特点。
参考答案:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它包括三个方面的内容:程序:在运行时,能提供所希望的功能和性能的指令集。
数据结构:使程序能够正确运行的数据结构。
文档:描述程序研制过程、方法及使用的图文材料。
软件产品具有以下一些特性:软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。
在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。
软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
软件的开发至今尚未完全摆脱手工的开发方式。
软件的开发费用越来越高,成本相当昂贵。
也可概括为:抽象性:逻辑实体,可记录,但看不到。
可复制性:与开发成本相比,复制成本很低。
无折旧。
受硬件制约。
未完全摆脱手工工艺。
开发费用高。
什么是软件工程。
参考答案:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来开发和维护软件。
软件工程是从管理和技术两个方面研究如何运用工程学的基本原理和方法来更好地开发和维护计算机软件的一门学科。
(2)什么是软件生存周期。
参考答案:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件工程作业1软件工程作业11. 前言本文档旨在描述软件工程作业1的内容和要求,并提供相应的解决方案。
作业1主要涉及软件需求工程的一些基本概念和方法。
2. 背景软件需求工程是软件开发过程中的关键环节,它旨在识别和定义用户的需求,为软件开发团队提供指导,确保开发出符合用户期望的软件产品。
在软件工程作业1中,我们将通过一个简单的实例来了解需求工程的基本概念和方法。
3. 需求分析3.1 需求定义本作业要求开发一个简单的待办事项管理系统,主要功能包括:- 记录待办事项的标题和描述- 根据优先级对待办事项进行排序- 标记已完成的待办事项3.2 功能需求根据需求定义,我们可以确定系统的功能需求如下:- 用户能够添加新的待办事项,并提供相应的标题和描述信息。
- 用户能够查看已有的待办事项列表,并能够根据优先级进行排序。
- 用户能够标记已完成的待办事项,并将其从列表中移除。
3.3 非功能需求除了功能需求外,我们还需要考虑一些重要的非功能需求:- 界面友好:用户界面应该简洁明了,方便用户操作。
- 性能高效:系统应该能够迅速处理大量待办事项的增删改查操作。
- 可靠性:系统需要具备一定的容错能力,确保数据不会丢失,应对异常情况。
4. 系统设计4.1 架构设计本系统采用简单的三层架构设计,包括表示层、业务逻辑层和数据访问层。
- 表示层:负责与用户进行交互,接收用户的输入并显示相关信息。
- 业务逻辑层:负责处理用户的请求,进行待办事项的增删改查操作。
- 数据访问层:负责与数据库进行交互,存储和检索待办事项的信息。
4.2 数据库设计本系统采用关系型数据库来存储待办事项的信息,数据库中主要包含以下两个表格:- todos 表:用于存储待办事项的基本信息,包括标题、描述和优先级。
- completed 表:用于存储已完成的待办事项信息,包括标题、描述和完成时间。
4.3 用户界面设计用户界面应该简洁而直观。
主要包括下面几个界面:- 待办事项列表界面:显示用户添加的待办事项列表,并可根据优先级排序。
软件工程形考作业1软件工程作业1(第1~4章)一、选择题:1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生2. 瀑布模型本质上是一种(A )模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品3. 瀑布模型存在的问题是(B )。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时6. 下列有关软件工程的标准,属于国际标准的是(D)A.GBB.DINC.ISOD.IEEE7. 结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流8. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9. 可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11. 可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试。
中国地质大学(武汉)远程与继续教育学院软件工程课程作业1(共 4 次作业)学习层次:专升本涉及章节:第1章一、选择填空题1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧()内。
软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、 ( B )及( C )的完整集合。
其中, ( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧()内。
开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、 D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧()内。
有人将软件的发展过程划分为 4 个阶段:第一阶段(1950~1950 年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950 年代末~1960 年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960 年代末~1970 年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
软件工程作业1软件工程作业11. 引言软件工程是一门研究如何以系统性的、经济合理地开发、维护和运行软件的学科。
在软件工程的学习过程中,作业是非常重要的一环。
本文档主要阐述了软件工程作业1的相关内容。
2. 背景软件工程作业1是软件工程课程的第一个作业任务,旨在帮助学生初步了解软件工程的基本概念和方法。
通过完成作业1,学生应能独立思考问题、分析需求、设计解决方案,并按照规定的要求提交作业报告。
3. 作业要求软件工程作业1的要求如下:- 阅读并理解给定的需求文档- 思考并设计解决方案- 使用Markdown文本格式编写作业报告- 作业报告要求包含以下内容:- 对需求文档的理解- 解决方案的设计思路- 实现步骤的描述- 遇到的问题及解决方法- 作业的心得体会和反思4. 解决方案设计根据给定的需求文档,在设计解决方案时,可以参考以下步骤:1. 理解需求:仔细阅读并理解给定的需求文档,确保对需求有清晰的认识。
2. 分析需求:对需求进行系统性的分析,确定主要功能和模块,并将其进行合理划分。
3. 设计方案:根据需求的分析结果,设计合理的解决方案。
可以使用UML图表或其他适合的工具进行模块设计和流程图设计等。
4. 实施步骤:分阶段实施解决方案,按照设计的模块和流程进行编码和测试。
5. 问题解决:在实施过程中,可能会遇到一些问题,需要及时解决。
可以通过查阅相关资料、请教同学或老师等方式解决问题。
6. 作业报告:在完成作业后,按照要求使用Markdown文本格式编写作业报告。
将解决方案的设计思路、实现步骤和遇到的问题等内容详细描述,并总结体会和反思。
5. 遇到的问题与解决方法在完成软件工程作业1的过程中,可能会遇到一些问题,如:- 对需求的理解存在困难:可以通过多次阅读需求文档、请教同学或老师等方式解决。
- 编码和测试时遇到BUG:可以通过调试程序、打印日志等方式定位问题并解决。
- 缺乏有效的工具和资源:可以通过查阅相关资料、探索互联网等途径寻找合适的工具和资源。
福师《软件工程》在线作业一-0003
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.一张判定表由()部分组成
A.1
B.2
C.3
D.4
答案:D
2.下面不是成本估计()
A.代码行技术
B.任务分解技术
C.自动估计成本技术
D.投资回报率
答案:D
3.面向对象的软件技术以()为核心
A.数据
B.对象
C.过程
D.结构
答案:B
4.模块内聚度越高,模块内各成分彼此结合的程度越()。
A.松散
B.紧密
C.无法判断
D.相等
答案:B
5.为使模块尽可能独立,要求()
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.以上都不正确
答案:B
6.在状态图中定义的状态主要有初态、终态和()
A.过渡态
B.中间状态
C.半中间状态
D.以上都不正确
答案:B。
软件工程作业1软件工程作业1:需求分析文档1. 引言本文档旨在详细阐述软件工程作业1的需求分析过程。
通过本文档,我们将明确作业的功能需求、非功能需求以及界面需求,为后续的软件设计和实现奠定基础。
2. 功能需求2.1 用户管理•用户注册:允许新用户创建账号,填写用户名、密码、邮箱等信息。
•用户登录:已注册用户输入用户名和密码登录系统。
•用户信息修改:用户可以修改自己的密码、邮箱等个人信息。
•用户注销:用户可以注销自己的账号。
2.2 作业管理•发布作业:教师可以发布新的作业,填写作业名称、描述、截止时间等信息。
•查询作业:学生可以查询已发布的作业列表,查看作业详情。
•提交作业:学生可以提交自己的作业。
•作业批改:教师可以批改学生的作业,并给出评分和反馈。
2.3 消息通知•系统通知:系统可以向用户发送有关作业发布、截止等重要消息。
3. 非功能需求3.1 性能需求•系统响应时间:在正常使用情况下,系统响应时间不应超过2秒。
•数据存储容量:系统应能存储至少一个学期的作业及用户信息。
3.2 安全需求•用户认证:采用加密算法(如MD5)对用户密码进行存储和验证。
•数据保护:对用户敏感信息进行加密存储,防止数据泄露。
3.3 可用性需求•界面设计:界面简洁明了,易于操作。
•系统帮助:提供在线帮助文档,方便用户了解和使用系统。
4. 界面需求4.1 用户登录界面•显示用户名、密码输入框及登录按钮。
•显示忘记密码、注册新用户链接。
4.2 用户管理界面•显示用户个人信息,如用户名、密码、邮箱等。
•显示修改个人信息、注销账号按钮。
4.3 作业管理界面•显示作业列表,包括作业名称、描述、截止时间等。
•显示发布新作业、查询作业、提交作业按钮。
4.4 消息通知界面•显示系统通知,包括作业发布、截止等消息。
5. 结论通过本需求分析文档,我们明确了软件工程作业1的功能需求、非功能需求和界面需求。
接下来,我们将根据这些需求进行软件设计和实现,确保系统能够满足用户需求,提高教学效果。
大工20春《软件工程》在线作业1
试卷总分:100 得分:100
一、单选题(共10 道试题,共50 分)
1.“软件危机”是指()。
A.计算机病毒的出现
B.利用计算机进行经济犯罪活动
C.软件开发和维护中出现的一系列问题
D.人们过分迷恋计算机系统
答案:C
2.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。
A.软件危机
B.软件工程
C.程序设计革命
D.结构化程序设计
答案:A
3.以下对软件的特性描述错误的是()。
A.不是计算机系统的物理部件
B.由于软件缺乏“可见性”,在软件开发前期,软件的质量较难评价
C.一般包括程序和文档。
软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。
4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。
请问如果你是项目负责人,你会选择为客户开发那个层次的软件?答:我会选择仅仅满足用户需求的软件。
因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。
而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。
若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。
软件工程作业1一、选择题:1.开发软件所需高成本和产物的低质量之间有着锋利的矛盾,这种现象称做〔C〕。
2.瀑布模型本质上是一种〔A 〕模型。
3.瀑布模型存在的问题是〔B 〕。
A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和〔A〕结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于〔A〕系统。
A.需求不确定性高的 B.需求确定的C.打点信息 D.实时6.以下有关软件工程的尺度,属于国际尺度的是(D )7.布局化方法是一种基于〔D〕的方法。
A.数据布局B.程序布局C.算法D.数据流8.软件可行性研究本色上是要进行一次( A)需求阐发、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是〔D〕A、阐发开发系统的必要性B、确定系统建设的方案C、阐发系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为〔C〕。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在〔A〕之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的〔C〕。
A、1%B、20%C、8%D、50%13.我国正式发布实施的〔B〕对计算机病毒的定义具有法律性、权威性。
A.计算机软件庇护条例B.中华人民共和国计算机信息系统安然庇护条例C.中华人民共和国著作权法D.计算机病毒防治打点方法14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性阐发B、需求阐发C、概要设计D、详细设计15.需求规格说明书的作用不包罗〔D〕A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义〔D〕中的各个成份的具体含义的。
A、程序流程图B、功能布局图C、系统布局图D、数据流程图17.数据流程图是〔A〕方法顶用于暗示系统逻辑模型的一种图形东西。
A、SAB、SDC、SPD、SC18.DFD中的每个加工至少有(A)。
A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流19.需求阐发阶段的关键任务是确定〔D〕A、软件开发方法B、软件开发东西C、软件开发费D、软件系统的功能20.在SD方法中全面指导模块划分的最重要的原那么是〔D〕。
A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性21.在模块的3种底子属性中,反映模块内部特性的是〔C〕。
A、接口B、功能C、逻辑D、状态22.模块的耦合性可以按照耦合程度的上下进行排序,以下哪一项符合从低到高的正确次序〔D〕。
A、数据布局耦合,公共耦合,控制耦合,内容耦合B、数据耦合,控制耦合,数据布局耦合,公共耦合C、无直接耦合,数据布局耦合,内容耦合,控制耦合D、无直接耦合,数据耦合,控制耦合,内容耦合23.PDL是描述处置过程( C )A、做什么B、为什么做C、怎么做D、对谁做24.〔D〕东西在软件详细设计过程中不采用。
A、判定表B、IPO图C、PDLD、DFD图25.为高质量地开发软件工程,在软件布局设计时,必需遵循〔A〕原那么。
A.信息隐蔽B、质量控制C、程序优化D、数据共享26.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为〔D〕A、数据耦合B、公共耦合C、标识表记标帜耦合D、内容耦合27.详细设计与概要设计衔接的图形东西是(B)。
A、DFD图B、SC图C、PAD图D、程序流程图28.以下几种类型中,耦合性最弱的是(D)。
A、内容型B、控制型C、公共型D、数据型29.软件布局使用的图形东西,一般采用〔C〕图。
A、DFDB、PADC、SCD、ER30.在七种偶合中,最低偶合是〔D〕。
A、内容偶合B、公共偶合C、数据偶合D、非直接偶合二、简答题1.什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、尺度的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和打点之中,②对①中所选方法的研究。
目标:1合理预算开发成本,付出较低的开发费用。
2实现预期的软件功能,达到较好的软件性能,满足用户的需求。
3 提高软件的可维护性,降低维护费用。
4 提高软件开发出产率,及时交付使用2.指出瀑布模型中以下任务的挨次:验收测试,工程方案,单位测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。
答:工程方案,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单位测试,系统测试,验收测试3.可行性研究陈述的主要内容是什么?答:可行性研究主要包罗以下几个局部:〔1〕概述〔2〕技术可行性〔3〕工程成熟程度〔4〕市场需求情况和风险阐发〔5〕投资估算及资金筹措〔6〕经济与社会效益〔7〕综合实力和财产根底〔8〕工程实施进度方案〔9〕其它尚需要说明的必要的方面〔10〕结论4.什么是需求阐发?需求阐发阶段的底子任务是什么?答:所谓"需求阐发",是指对要解决的问题进行详细的阐发,弄清楚问题的要求,包罗需要输入什么数据,要得到什么成果,最后应输出什么。
可以说,“需求阐发〞就是确定要计算机“做什么〞。
任务:确定软件工程的目标和范围。
查询拜访使用者的要求,阐发软件必需做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。
除此之外,还包罗需求变动控制,需求风险控制,需求版本控制等对需求的打点工作5.什么是布局化阐发方法?该方法使用什么描述东西?答:布局化的阐发方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处置。
布局化阐发方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述东西:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体—关系图7状态—变迁图6.布局化阐发方法通过哪些步调来实现答:1〕确定系统的功能要求2) 确定系统的数据要求3) 确定系统的操作要求和界面要求4) 确定系统的性能要求5) 确定系统的运行要求6) 获得当前系统的物理模型7) 抽象出当前系统的逻辑模型8) 成立目标系统的逻辑模型。
9) 修正开发方案10〕如果需要那么开发系统原型7.什么是数据流图其作用是什么此中的底子符号各暗示什么含义答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是布局化系统阐发方法的主要表达东西及用于暗示软件模型的一种图示方法。
数据流图的底子符号的意思:1.矩形暗示数据的外部实体;2.圆角的矩形暗示变换数据的处置逻辑;3.少右面的边矩形暗示数据的存储;4.箭头暗示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处置过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑布局,此中的四个底子图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他东西配合使用,数据字典就是这样的东西之一。
包罗的条目:数据流词条数据元素词条数据存储词条数据加工处置词条数据源点及终点词条9.什么是概要设计?有哪些底子任务?答:概要设计:按照用户的需求先确定软件系统的总体布局和总的设计原那么底子的任务:设想供选择的方案。
保举最正确方案。
功能分解,确定软件布局。
设计软件布局。
制定测试方案。
数据设计。
书写文档。
包罗总体设计规格说明书。
用户手册。
测试方案。
设计审查和复审。
10.详细设计的底子任务是什么?有那几种描述方法?答:详细设计阶段的任务是要为编写程序代码设计“图纸〞,由程序员按“图纸〞用某种高级程序设计语言编写程序代码。
主要方法有设计程序流程图,表格设计符号以及过程设计语言。
11.什么是变换流?什么是事物流?答:变换型数据流可以划分为明显的三局部:逻辑输入,中心变换,逻辑输出事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,此中发射出多条事务处置路径的中心处置被称为中心事务12.模块的内聚有哪几种?模块间的耦合有哪几种?答:内聚分为七种类型:巧合内聚——一个模块执行多个完全互不相关的动作,那么这个模块就有巧合内聚逻辑内聚——当一个模块执行一系列相关的动作时,称其有逻辑内聚。
时间性内聚——当一个模块内的多个任务是与时间有关时,这个模块具有时间性内聚。
过程内聚——模块执行的假设干动作之间有挨次关系。
通信内聚——模块执行的假设干动作之间有挨次关系,而且所有动作是在不异的数据上执行。
信息内聚——一个模块中执行一系列动作,每个动作都有本身的入口点和处置代码,所有的动作都作用在不异的数据布局上,这样的模块叫做信息内聚。
功能性内聚——一个模块中各个局部都是完成某一具体功能必不成少的组成局部耦合分为七类:内容耦合——如果一个模块直接参考另一个模块的内容,那么这两个模块是内容耦合。
公共耦合——如果多个模块都拜候同一个公共数据环境,那么称它们是公共耦合。
外部耦合——如果两个模块都拜候同一个全局简单变量而不是同一全局数据布局,而且,不是通过参数表传递该全局变量的信息,那么这两个模块属于外部耦合。
控制耦合——如果模块A向模块B传递一个控制信息,那么称这两个模块是控制耦合的数据布局耦合——当一个模块调用另一个模块时传递了整个数据布局,这两个模块之间具有数据布局耦合。
数据耦合——如果两个模块传递的是数据项,那么这两个模块是数据耦合。
非直接耦合——如果两个模块之间没有直接关系,它们之间的联系完全通过主模块的控制和调用来实现的,这就长短直接耦合。
三、应用题1.某旅馆的效劳如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
写出在数据字典中,号码的数据条目的定义(即组成)。
2.下面是搭客订飞机票的需求描述,试画出分层的数据流程图。
顾客将订票单交给预订系统:〔1〕如果是不合法订票单,那么输出无效订票信息;〔2〕对合法订票单的预付款登录到一个记账文件中;〔3〕系统有航班目录文件,按照填写的旅行时间和目的地为顾客安排航班;〔4〕在获得正确航班信息和确认已交了局部预付款时发出取票单,并记录到取票单文件中。