软件工程作业1
- 格式:docx
- 大小:23.77 KB
- 文档页数:5
软件工程作业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〕中的各个成份的具体含义的。
1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。
危机原因:1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。
2、主客观不相适应。
●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。
1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?►基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。
►软件工程定义:是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.►软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。
本质特性:P6消除软件危机:软件工程基本原理7条。
1-6 什么是软件过程?它与软件工程方法学有何关系?►软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
►过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。
关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。
1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
1.软件危机的概念:软件危机是计算机软件开发和维护过程中所遇到的一系列严重问题。
主要包括下列两个方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护不断增多的已有软件。
典型表现:对软件开发成本和进度的估计常常很不准确;用户对交付的软件经常不满意;软件产品的质量往往达不到要求;开发出来的软件通常难以维护;软件产品文档资料不适用和不完善;软件成本在整个系统总成本中所占比例逐年上升;软件开发生产率的提高不能满足对软件需求的增长;出现软件危机的原因:与软件本身的特点有关成本高、风险大、难于维护、逻辑复杂。
软件是计算机系统中的逻辑实体而不是物理实体,软件生产与硬件不同,在它的开发过程中没有明显的制造过程。
软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。
在软件的运行过程中,没有“用坏”的问题。
软件维护意味着修正原来的设计,较为困难。
与软件开发与维护的方法不正确有关软件专业人员对软件开发和维护存在糊涂观念,在实践过程中采用了错误的方法和技术。
如忽视软件需求分析的重要性;轻视软件维护。
3.软件工程的概念:软件工程是指导计算机软件开发与维护的一门工程学科。
采用工程的概念、原理、方法和技术来开发和维护软件。
将经过时间和实践考验而证明正确的管理方法和最好的技术手段结合起来,经济有效地开发和维护软件。
软件工程是一门不断发展的学科。
软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它采用经过实践验证的工程的原则、方法,以提高质量,降低成本为目的。
本质特征:关注于大型程序的构造控制软件复杂性适应软件的经常变化性提高软件开发的效率和谐合作开发软件使软件有效地支持它的用户需求软件是有一种文化背景的人为另一种文化背景的人开发的产品。
用软件工程来消除软件危机:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具6.软件过程的概念:软件过程是为了获得高质量的软件需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。
大工22春《软件工程》在线作业1试卷总分:100 得分:100一、单选题(共10 道试题,共50 分)1.“软件危机”是指()。
A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统答案:C2.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计答案:A3.以下对软件的特性描述错误的是()。
A.不是计算机系统的物理部件B.由于软件缺乏“可见性”,在软件开发前期,软件的质量较难评价C.一般包括程序和文档D.可独立构成计算机系统答案:D4.瀑布模型的关键不足在于()。
A.过于简单B.各个阶段需要进行评审C.过于灵活D.不能适应需求的动态变更答案:D5.软件是一种()。
A.简单程序B.数据C.逻辑产品D.物理产品答案:C6.经济可行性研究的范围包括()。
A.资源有效性B.管理制度C.效益分析D.编程语言答案:C7.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性答案:B8.在软件开发中,()是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。
A.成本/效益分析B.软件维护分析C.结构化分析D.软件需求分析答案:A9.数据字典是用来定义()中的各个成份的具体含义。
A.流程图B.功能结构图C.系统结构图D.数据流图答案:D10.需求分析阶段的任务是确定()。
A.软件测试的具体方法B.软件开发工具C.软件开发费用D.软件系统的功能答案:D二、判断题(共10 道试题,共50 分)11.软件工具的唯一作用是为了延长软件产品的寿命。
答案:错误12.数据流图有4种基本符号,其中正方形(或立方体)表示数据的源点或终点。
答案:正确13.在数据流图中,一个数据存储等同于一个文件,不能表示文件的一部分。
软件工程作业1软件工程作业1====================1-引言--------------------2-项目背景--------------------在此章节中,需要详细介绍软件工程作业1的项目背景和项目的目标。
描述项目的背景信息,包括相关的行业、应用领域和目标用户群体等。
明确项目的目标,即开发一个什么样的软件或系统,并说明该软件或系统的主要功能和优势。
3-需求分析--------------------在本章节中,将对项目的需求进行详细的分析和规格说明。
包括用户需求和系统需求的分析,将用户需求转化为可量化和可测量的系统需求。
在此章节中,需要明确项目的功能需求、性能需求、安全需求等各个方面的需求。
4-设计在此章节中,将进行系统的整体设计和详细设计的说明。
首先,进行系统的整体架构设计,包括模块划分、功能划分和模块间的关系等。
然后,对各个模块进行详细设计,并给出相应的设计文档,包括类图、时序图、状态图等。
最后,说明系统的界面设计和用户界面的交互。
5-开发--------------------在本章节中,将详细介绍项目的开发过程和开发环境的配置。
描述项目的开发过程中所采用的开发方法和开发工具。
对于项目的开发环境,包括开发语言、开发框架、集成开发环境等的配置和使用,都需要进行详细的说明。
6-测试--------------------在此章节中,将介绍软件工程作业1的测试策略和测试计划。
描述测试的范围、测试的方法和测试的步骤等。
针对不同的测试阶段,包括单元测试、集成测试、系统测试等,都需要给出相应的测试计划和测试用例。
7-附件本文档附带的附件包括项目的相关文档、设计图纸、测试样例等。
这些附件能够更加全面地展示软件工程作业1的开发过程和实现结果。
8-法律名词及注释--------------------在此章节中,列出本文档涉及的法律名词及其相应的注释解释。
这些法律名词的注释将有助于读者更好地理解和解释相关内容。
《软件工程》在线作业一《软件工程》在线作业一-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软件工程作业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 年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
《软件工程》在线作业一
试卷总分:100 得分:100
一、单选题(共20 道试题,共100 分)
1.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.要让软件做什么
B.要给该软件提供哪些信息
C.要求软件工作效率怎样
D.要让软件具有何种结构
正确的答案是:A
2.结构化设计方法在软件开发中,用于()。
A.测试用例设计
B.软件概要设计
C.程序设计
D.软件详细设计
正确的答案是:B
3.确认测试中,作为测试依据的文档是()。
A.需求规格说明书
B.设计说明书
C.源程序
D.开发计划
正确的答案是:A
4.在程序的描述与分析中,用以指明数据来源.数据流向和数据处理的辅助图形是()。
A.瀑布模型图
B.数据流图
C.数据结构图
D.业务流
正确的答案是:B
5.软件结构图中,模块框之间若有直线连接,表示它们之间存在着()关系。
A.调用
B.组成
C.链接
D.顺序执行
正确的答案是:A
6.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高()。
A.结构化方法
B.原型化方法
C.面向对象的方法
D.控制流方法
正确的答案是:B。
软件⼯程作业含答案软件⼯程第⼀章作业 (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软件工程作业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)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。
4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。
请问如果你是项目负责人,你会选择为客户开发那个层次的软件?答:我会选择仅仅满足用户需求的软件。
因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。
而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。
若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。
《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
2.简述产生软件危机的原因和解决的思路。
答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。
解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。
3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
《软件工程》作业及答案1-1 什么是软件危机?它有哪些经典体现?为何会出现软件危机?答: 软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
概括地说, 软件危机包括下述两方面旳问题: 怎样开发软件, 以满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。
软件危机经典体现:对软件开发成本和进度旳估计常常很不精确。
顾客对“已完毕旳”软件系统不满意旳现象常常发生。
软件产品旳质量往往靠不住。
软件常常是不可维护旳。
软件一般没有合适旳文档资料。
软件成本在计算机系统总成本中所占旳比例逐年上升。
软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。
产生软件危机旳原因: 首先与软件自身旳特点有关, 另首先也和软件开发与维护旳措施不对旳有关。
软件不一样于硬件, 它是计算机系统中旳逻辑部件而不是物理部件。
管理和控制软件开发过程相称困难。
软件是规模庞大, 并且程序复杂性将伴随程序规模旳增长而呈指数上升。
目前相称多旳软件专业人员对软件开发和维护尚有不省糊涂观念, 在实践过程中或多或少地采用了错误旳措施和技术, 这是使软件问题发展成软件危机旳重要原因。
1-2 假设你是一家软件企业旳总工程师, 当你把图1.1给手下旳软件工程师们观看, 告诉他们及早发现并改正错误旳重要性时, 有人不一样意你旳观点, 认为规定在错误进入软件之前就清除它们是不现实旳, 并举例说:“假如一种故障是编码错误导致旳, 那么, 一种人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答: 软件工程是指导计算机软件开发和维护旳一门工程学科。
采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它。
软件工程本质特性: 1、软件工程关注于大型程序旳构造;2、软件工程旳中心课题是控制复杂性;3、软件常常变化;4、开发软件旳效率非常重要;5、友好地合作是开发软件旳关键;6、软件必须有效地支持它旳顾客;7、在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品。
一、单选题
面向对象设计的启发规则包括()。
•
•
•
•
二、多选题
项目管理小组一般由公司管理人员组成,主要职责如下()。
软件产业发展中的关键技术包括()。
•
•
面向对象设计总体上讲需要建立3种模型,他们是()。
•
模块的基本属性包括()。
•
影响可维护性的因素包括()。
详细说明书主要包括()。
在整个软件配置中只提供程序代码,其他如()等内部文档缺乏,那么会对软件维护造成很大的困难。
再工程模型的活动包括()。
三、判断题
过程、函数、子程序和宏等都不能可作为模块。
•
人机界面设计过程是一个选代过程。
类的集成度越低,越适合大型应用程序的开发。
•
需求分析是对软件需求实现的各个功能进行详细分析。
•
瀑布模型要求开发过程的每个阶段结束时要进行复审,复审通过了才能进行下一个阶段。
•
软件测试要坚持要求修改所有程序错误。
•
一个数据处理不一定是一个程序。
•
在软件维护过程中,降低病毒危害的两个方法是延长数据备份周期和提高杀毒软件的升级频率。
•
产品度量用于对软件产品进行评价,并在此基础上推进产品设计、产品制造和产品服务优化。
数据流条目就是说明数据流是来自哪里。
•。