当前位置:文档之家› 软件工程作业

软件工程作业

软件工程作业
软件工程作业

软件工程I 课程考核报告

南 阳 理 工 学 院 软 件 学 院

2013年5月 软件工程素质导论总结

【摘要】软件工程素质导论是一门理论与实践相结合的课程,包含了与软件相关职业活动的技术规范和指导,涵盖许多对项目开发重要的内容,对过去的经验和教训进行了阐述,让我们在开发项目的时候可以避免走很多弯路,对于每一个从事软件工作者来说都很重要,认真的学好这一门课程,将会受益匪浅。 关键字:软件工程 项目管理 需求获取 用例模型

第一章 软件工程的职业道德

一、职业道德的内涵与作用

1.职业的定义

职业是指人们由于社会分工而从事具有专业业余和特定职责并以此作为主要生活来源的工作,职业是在人类社会出现分工之后而产生的一种社会历史现象。

2.道德的定义

道德是一定社会、一定阶级向人们提出的处理人与人之间、个人和社会之间、个人和自然之间各种关系的一种特殊的行为规范。

3.职业道德的定义

职业道德,即在一定的社会经济关系中,从事各种不同职业的人们在其特定的工作或劳动中的规范的总和。

二、职业道德的基本标准

文明礼貌、爱岗敬业、诚实守信、办事公道、团结互助、服务群众、奉献社会。

三、职业道德修养的形成

从小事做起、从自我做起、在专业学习中训练、在社会时间按中体验、在自我修养中提高。

四、软件工程职业道德的作用

软件工程职业道德是作为一名优秀软件工程师必备的素质。做任何事情都要有一定的准则,“无规矩不成方圆”只有养成一个良好的习惯才能在日益竞争的时代中得到发展。任何一名从业人员职业道德素质的提高,一方面靠他自律,即社会的培养和学校的教育;另一方面就取决于自己的主观能力,即自我努力。而后者更为重要。而我们要想成为一名合格的软件工程师必须养成一个良好的习惯,要从一点一滴开始,严格要求自己,才能有所收获。

扩展阅读 职业规划与评测技术 成 绩 评阅人

第二章软件与软件工程

一、软件危机

1.软件危机

软件危机是软件在开发和维护的过程中所遇到的一系列严重的问题。主要包括:如何开发软件来满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

二、软件工程

1.软件工程

软件工程是开发、运行、维护、和修复软件系统方法。

2.软件工程的内容

软件工程是研究和应用如何以系统的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

三、软件工程的过程

软件工程的过程,如图1-1所示

图 1-1

四、软件生存周期

生命周期过程,大的划分为3个:计划、开发、使用与维护,细分如下。

计划过程:问题定义、可行性研究;

设计过程:需求分析、概要设计、详细设计;

实现过程:编码、调试、测试;

使用与维护:使用与维护。

五、软件开发模型

开发模型分为:瀑布模型、原型模型、增量模型、螺旋模型、构建模型1.瀑布模型

优点:清楚的标识出了软件开放阶段。它采用自顶向下逐步向下逐步求精的方式把整个开发过程分为不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。

缺点:它自身的顺序性所致,在开放过程中,在需求阶段很难把用户的需求完全明确下来,因此,当需求变更时将会导致阶段反复,而且都是重复需求、设计、编码、测试等过程。

2.原型模型

优点:开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。然后是“快速设计”。

3.增量模型

优点:具有较大的灵活性,适合于软件需求不明缺、设计方案有一定风险的软件项目,增量模型强调每一个增量均发布一个可操作产品。

4.螺旋模型

优点:将瀑布模型和增量模型结合起来,并加了风险分析。螺旋模型时一个很现实的方法,使用原型模型作为降低风险的机制,使得开发人员和用户对每个烟花层出现的风险有所了解,继而做出应有的反应,因此特别适合庞大、综合并具有高风险的系统。

六、软件与软件工程的作用

软件工程主要讲述软件开发和维护的各种方法和规范,基本上是软件实践者的成功经验和失败教训的总结。软件工程的目的,在于使用系统化、工程化、规范化的方法,降低或者消除劳动者的个体差别对整个软件项目的影响,实现软件的大规模的社会化大生产,定量化地控制软件项目的成本和进度,保障软件的质量,适应用户需求的变化。

本章为我们提供了前辈们的经验和教训,让我们少走很多弯路,为我们节省了很多的时间,让我们在进行软件开发时效率更高。

第三章软件文档写作基础

一、文档规范

主要是在写作文当时应注意的问题,和在写作是有很多可以用的技巧。对论文的格式进行了描述,还使用现有的毕业设计文档进行讲解,讲述每一部分应该写的内容(摘要),然后还对文档的基本操作进行了讲述(插入表格和插入图片的方法)。

句法成分搭配不当、句法成分缺少、词语的位置摆错、数量表达混乱。

二、代码规范

1.程序的版式

文件结构、版式、空行、代码行、代码行内的空格、对齐、长行拆分、修饰符的位置、注释、类的版式

2.命名规则

共性规则、简单的Windows应用程序命名规则。对各种类型数据的命名进行了详细的讲述,并使用实例进行的解析。

3.表达式和基本语句

循环语句的效率、for 语句的循环控制变量、if 语句、还有是对在语句中对运算符中空格的使用等问题。

4.常量

比如const 与 #define的比较、常量定义规则、类中的常量,特别是对于常量的命名的问题进行了详细的讲解。

5.函数设计

参数的规则、返回值的规则、函数内部实现的规则、引用与指针的比较。

三、思维导图

1.思维导图

思维导图是大脑中自然而然的、充满图像的思维过程及思维能力的反应,是一幅幅帮助我们了解并掌握大脑工作原理的使用说明书。

2.思维导图的作用

思维导图拥有惊人的作用,可以在原有的基础上进行延伸,使得到的结果更丰富。

四、软件文档的写作基础的作用

当今世界以书面语言作为超越时空的传播工具,大量的科学技术知识,更是要通过文字来传播和存储,写作变得越来越重要。而文档写作也成为了重中之重,一篇好的文档,使人看了之后一目了然,层次清晰。这样软件文档规范和代码规范就变得尤为重要了。

本章主要是对软件文档规范和代码规范进行讲述,文档规范主要讲述在写作论文时应该要注意的事项,比如语法、可读性、技巧、写作时应该注意的细节等方面;而代码规范主要是在编写代码时应该注意的问题,比如变量命名、程序排版、注释等问题。总之文档规范可以使我们养成一个良好的习惯,是我们在今后的写作中得心应手。代码规范可以提高代码的可读性,更可以提高程序的运行效率。

最后思维导图是一个革命性的思维工具,简单却又极其有效。对学习和工做具有惊人的作用。

第四章项目的初步管理

一、项目的概念和项目管理知识

1.项目

项目指的是在某种目的的驱动下完成的一系列相关的活动。

2.项目的特征

有一个明确的目标、唯一性专门性、一次性、整体性。

3.项目的四个约束

范围、时间、成本、质量。

二、立项管理

立项管理是决策行为,其目标是“做正确的事情”。指符合企业利益最大化这个根本目标。立项管理的目的是通过规范化的流程:①判断并采纳符合企业利益最大化的立项建议,提供合适的资金和资源,使立项建议成为正式的项目;②判断并拒绝不能给企业带来的利益的立项建议,避免浪费资源、资金、时间等。项目有五种典型的利益相关者:项目发起人、项目客户、项目经理、项目团队、项目相关职能部门,它们都应该在项目的不同阶段扮演不同的角色,承担相应的

责任。

立项之后就要定义项目的需求。做份《项目可行性分析报告》,其中包括进行可行性分析、市场可行性分析、技术可行性分析、成本收益的分析、SWOT 分析。《项目可行性分析报告》由决策机构进行评审批准之后就可进入项目筹备阶段。

三、结项管理

结项管理是对项目的有形资产和无形资产进行清算、对项目进行综合评估和总结经验等。结项管理流程为(1)机构领导指示;(2)结项申请;(3)结项评审。

管理对于项目成功有重要的意义。有了项目管理这个环节,用项目管理来科学地开发软件有效地减少了开发风险,保证了质量。有了清晰了的计划,会减少整个项目做下来的时间和资源、效率和损失

四、项目的初步管理的应用

一个单位的业绩如何,要看是否有一个好的领导;同样一个项目的好坏也需要一个好的管理者,才能使项目的开发能够有序地进行,对项目的实施计划、组织、指挥、协调、控制等进行有效控制,才能在工作的效率更好。

一个好的领导与管理艺术,才是项目能够成功的最重要的因素。所以在做项目的时候需要一个运筹帷幄的管理者,才能决胜于千里之外。

第五章 需求获取

一、需求的类型

1.如图1-1所示

功能性质量属性:正确性,健壮性,可靠性

非功能性质量属性:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性等

2.非功能性 运行其质量属性(外部) 开发其质量属性(内

部)

性能

易理解性 易用性

可扩展性 持续可用性

可移植性 可伸缩性 可重用性

互操作性

可测试性 鲁棒性 可维护性

软件需求 功能需求 非功能需求 质量属性 运行期质量 开发期质量属性

二、需求方法

安全性可兼容性

1.需求分析所处的位置

概念化阶段:明确了软件项目的意义,可行性等概括。

需求阶段:功能需求、质量属性需求、约束性需求等。

架构设计阶段:分析和设计系统。

2.需求捕获及其成果

需求采集者必须理解用户所从事的工作,并了解用户和客户希望系统在哪些方面帮助他们。

工作成果:需求采集卡、访谈记录、访谈录音(征询授权)、书面材料、系统等。

常犯错误:拿着需求捕获的内容作为需求分析。

3.需求分析及其工作成果

通过需求采集活动,捕获到了大量“原始需求”。

需求分析则对采集到的原始需求进行分析、整理、辨别和归纳,最终形成系统的、明确的软件需求。

需求分析是挖掘和整理知识的过程,它在已掌握知识的基础上进行。

需求分析就是对用户需求进行分析,以得到一份明确的、规范的需求定义。

工作成果:需求规格说明书

常犯错误:需求分析不全面,少功能,无非功能性需求。

4.系统分析及其工作成果

系统分析是针对系统所要面临问题,搜集相关的资料,以了解产生问题的原因所在,进而提出解决问题的方法与可行的逻辑方案,以满足系统的需求,实现预定的目标。

工作成果:分析类图、鲁棒图、序列图等。

三、需求获取的应用

团队和管理对项目开发很重要,但项目开发的成败取决于是否正确地进行需求获取。

需求问题是一个项目成功的重要因素,一个成功的项目往往需要有一个充实的需求,比如功能性需求、非功能性需求(性能需求、质量需求、对外接口、约束)等,而非功能性需求中的质量属性有分为可靠性、可用性、可维护性、可以移植性等内容,包含了对项目成败的关键,任何一个小的疏忽都可能导致项目的失败,所以需求获取成为项目成败的决定性因素。这就要求我们在做项目的时候,一定要进行充分的需求捕获,才能大大的提高项目的成功率。

在我们打算做某一件事的时候我们首先都要去了解关于这件事的资料,只有充分了解,才能做出正确的判断,才能做得更好。而需求捕获就是充当这样一个角色,让我们在项目的前期,做好充足的准备,才能使工作顺利,成功率更高。

第六章用例模型

一、UML简介

1.UML语言的特点

统一标准、面向对象、表达能力强大、可视化

2.UML模型中的基本元素

(1).结构事物

类、接口、协作、用例、活动类、组件、结点

(2).集中连接的关系

关联、泛化、依赖、聚合

二、用例图和用例描述

1.用例

用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需

求的过程就是用例建模。

2.用例图

用例图从用户的角度描述系统的功能,并指出各种功能的操作者。角色和用

例是用例图的核心概念。

序号模板项目说明

1 用例名称每一个用例都有一个清晰、无歧义的动名词短语作为名称,如

签订合同

2 用例目的用例是为了获得有价值的结果而对系统功能的执行,因此每一

个用例的执行都有最终的目的或者目标

3 参与者和该用例有关的参与者,可以是多个

4 前提条件用例可以开始执行的前提条件

5 事件流该项描述了用户和系统在执行该用例的过程中,用户和系

统之间的交互细节,包括;用户做了什么,系统做了什么,除

了基本正常的事件流之外,还以应该包括异常的事件流(备选

流)

6 后置条件该用例执行完毕后系统的最终状态

7 扩展点什么条件下,可以扩展为其他用例

8 其他用例的其他特殊要求,如性能要求、使用频率等

三、建立用例模型

1.用例模型

用例模型描述外部执行者(Actor)所理解的系统功能。即待开发系统的功能

需求。

用例模型驱动了需求分析之后各阶段的开发工作,还被用于验证和检测所开

发的系统, 影响了 UML 的各个模型。

用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关

系。

2.用例模型核心元素

参与者(Actor)

参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。

用例(Use Case)

用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。

3.查找参与者Actor

使用以下问题有助于发现系统的参与者

①谁使用系统?

②谁安装系统、维护系统?

③谁启动系统、关闭系统?

④谁从系统中获取信息,谁提供信息给系统?

⑤在系统交互中,谁扮演了什么角色?

⑥系统会与哪些其他系统相关联?

4.识别用例的方法

识别用例的最好办法就是从分析系统的参与者开始,考虑每个参与者是怎样使用系统。

根据下面的一些问题来识别用例:

①参与者希望系统提供什么功能;

②系统是否存储和检索信息;

③当系统改变状态时,是否通知参与者;

④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。

四、用例模型的作用

本章主要是对用例知识的讲述,用例是描述系统的方法,而模型是对现实世界的简化,也是对认知主题的抽象,建模过程就是认识世界、捕捉认知对象本质的过程。

用例模型驱动了需求分析之后各阶段的开发工作,还被用于验证和检测所开发的系统, 影响了 UML 的各个模型。用例模型是用若干个用例图构成,用例图中主要描述执行者和用例之间的关系。

在实际中使用用例描述了系统的功能需求,模型化表示了系统的功能和系统的环境。用例模型为客户和开发者提供了一种契约。当客户同意了用例模型,客户希望得到的系统功能也就确定了。在开发的过程中,用例模型可以用来与系统的客户进行交流。

在系统开发的早期就可以明确最后提交的产品功能和特性;确保双方都对需求有了准确的理解标志;确定对系统与用户群之间接口的需求验证(是否是客户所有的需求都被捕获);确保开发团队已完全理解了客户的需求。

总结

对于我们软件工程专业来说软件工程素质导论是一门具有标志性的科程,对于从事软件工程行业的人来说具有很重要的作用,认真的进行研究,对于以后会受益匪浅。

本课程主要讲述了一些关于前辈们的经验和教训,他们用自己的亲生体验为

我们留下了宝贵的财富。比如对于软件工作人员的道德规范、文档规范、项目的管理、做项目之前要做的需求分析,用例等很多知识,如果真正的理解并掌握了这些知识,会是我们避免走很多的弯路,对于我们以后的发展具有很重要的作用。

也许刚开始我们会不屑一顾,会觉得还不如去敲一行代码,感觉这些东西里我们还是很遥远,可望而不可即,那是我们错了。我们要改正这种观念,才能有更大的进步。

参考文献

[1].王水:《软件工程素质导论》,河南科学技术出版社,2011.2.

软件工程作业及参考答案(版)

软件危机与软件工程 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 . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程课程设计----作业提交系统

作业提交系统 1、引言 1.1 问题定义 解决传统的FTP服务器不能够满足作业上传的要求下: 1.教师发布作业必须到服务器上建立文件夹 2.教师发布作业由在黑板上写的形式改为在网页上写再发布 3.教师不能对作业进行限制如大小,类型,过期时间 4.教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载5.教师无法发布成绩改为通过网页发布成绩 6.学生一次未完成的作业可以先上传再下载,完成之后再上传。 7.学生上传作业只须点一个按钮,无须选择要上传的目录 2、开发环境 2.1 Visual Studio 2005概述 Visual Studio.2008是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual https://www.doczj.com/doc/b79297828.html,都可以提供近乎完美的解决方案。VisuaStudio.2008提供了包括设计、编码、编译调试、数据库连接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。 2.2 C# 简介 C#是一种先进,面向对象的语言,通过C#可以让开发人员快速的建立大范围的基于MS 网络平台的应用,并且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围的适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造也可以使各种组件方便的转变为基于WEB的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用程序调用。 2.3 ASP简介 ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web 应用程序。 2.4 Server SQL Microsoft简介 Microsoft SQL Server 2008是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database Management System)。SQL Server 2008是为了支持高容量的事务处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 20008 Server上——基于intel处理器的网络。可以把SQL Server 2008作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2008 Professional、Windows98和Windows Millennium Edition(Me)的机器上。

软件工程课后作业

第1次作业 路松峰20140062 2018-07-29 10:32:40

软件产品的开发基本上是线性顺序进行的。 2、什么是模型? 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是(C )。 A.特定的开发模型 B. —种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。 A.管理级 B.优化级 C.定义级 D.可重复级 第3次作业 路松峰_20140062 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法? 面向功能分析、面向数据分析、面向对象分析 2、什么是面向数据结构方法? 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导岀软件的结构。

二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 1、增量模型本质上是一种( C )。 A.线性顺序模型 B.整体开发模型 C.非整体开发模型 D.螺旋模型 2、需求工程的主要目的是( C )。 A.系统开发的具体方案 B.进一步确定用户的需求 C.解决系统是“做什么的问题” D.解决系统是“如何做的问题” 3、在E-R模型中,包含以下基本成分(D )。 A.数据、对象、实体 B.控制、关系、对象 C.实体、关系、控制 D.实体、属性、关系 第4次作业 路松峰_20140062 2018-07-29 10:35:04 一、简答题 1、面向对象分析模型的五个层次是什么? 五个层次:类与对象层,属性层,服务层,结构层,主题层 2、对象的五个特点是什么?

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程课后作业

路松峰_ 2018-07-29 10:32:40 一、简答题 1.什么是软件工程 软件工程是关于软件生产的各个方面的工程学科。 二、判断题 1、软件危机的主要表现是软件需求增加,软件价格上升。 / 正确 2、软件就是程序,编写软件就是编写程序。 错误 三、选择题 1、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( A )工具。 A. CASE C. CAM D. CAD 2、在下列选项中,( C )不是软件的特征。 A.系统性与复制性 B.可靠性与一致性 C.有形性与可控性 D.抽象性与智能性 ) 3、软件工程的三要素是( B ) A.技术、方法和工具 B.方法、工具和过程 C. 方法、对象和类 D.过程、模型和方法

第2次作业 路松峰_ 2018-07-29 10:33:32 一、简答题 … 1、快速原型模型的主要优点是什么 软件产品的开发基本上是线性顺序进行的。 2、什么是模型 模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。 二、判断题 1、在软件开发中采用原型系统策略的主要困难是成本问题。 正确 2、软件过程改进也是软件工程的范畴。 · 正确 三、选择题 1、包含风险分析的软件工程模型是( D )。 A.喷泉模型 B.瀑布模型 C.增量模型 D.螺旋模型 2、软件过程是( C )。 A.特定的开发模型 B.一种软件求解的计算逻辑 C.软件开发活动的集合 D.软件生命周期模型 3、CMM模型将软件过程的成熟度分为5个等级。在(B )使用定量分析来不断地改进和管理软件过程。

… 第3次作业 路松峰_ 2018-07-29 10:34:34 一、简答题 1、需求分析有哪三种方法 面向功能分析、面向数据分析、面向对象分析 ) 2、什么是面向数据结构方法 面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导出软件的结构。 二、判断题 1、需求评审人员主要由开发人员组成,一般不包括用户。 错误 2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。正确 三、选择题 ;

软件工程大作业+暑期软件工程课程设计模板1

《 题 目: 线性表的设计和实现 专业年级: 2014级计算科学与技术专业 指导教师: 李四 年 月 日

中国石油大学胜利学院《软件工程》课程大作业 摘 要 数据结构算法设计和演示(C++)树和查找是在面向对象思想和技术的指导下,采用面向对象的编程语言( C++)和面向对象的编程工具(Borland C++ Builder 6.0)开发 出来的小型应用程序。它的功能主要是将数据结构中链表、栈、队列、树、查找、图和排序部分的典型算法和数据结构用面向对象的方法封装成类,并通过类的对外接口和对象之间的消息传递来实现这些算法,同时利用C++ Builder 6.0中丰富的控件资源中帮助理解、辅助教学和自我学习的作用。 关键词:毕业设计;格式;规范

ABSTRACT Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Keywords :Xxxx;Xxxx;Xxxx

目 录 错误!未定义书签。 2.2.2 三级标题名 .................................................................. 错误!未定义书签。 2.3 线性链表 ................................................................................................................... 3 第三章 设计的主体内容 (3) 3.1 系统结构的设计 ....................................................................................................... 5 3.2 交互界面的设计和实现 ........................................................................................... 5 3.3 线性表的00P 序设计 ............................................................. 错误!未定义书签。 3.3.1 线性表的顺序存储的实现 .......................................... 错误!未定义书签。 第四章 结果分析与讨论 ...................................................................................................... 6 第五章 结论 ........................................................................................................................ 15 参考文献 ................................................................................................................................ 18 致 谢 ................................................................................................................................ 19 附 录 .. (20) 附录A 名词术语及缩略词 (20)

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程课程设计要求

《软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS(企业信息系统)进行交互。功能如下: 1.用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2.货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1.问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1)订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书目。

软件工程基础(复习题及答案)

复习题 一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析 活动。(对) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对) 6.数据库设计说明书是一个软件配置项(对) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12.集成测试主要由用户来完成。(错) 13.确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16.在可行性研究中最难决断和最关键的问题是经济可行性。(╳) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳) 18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)

19.概要设计阶段完成的主要文档是概要设计说明书。(√) 20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳) 21.程序设计语言中应绝对禁止使用GOTO语句。(╳) 22.类是关于对象性质的描述,由方法和数据组成。(√) 23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。(√) 25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(╳) 26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软 件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大 6.软件可靠性——指在给定的时间内,程序按照规定的条件成 功地运行的概率 7.软件配置——是一个软件在生存周期内,他的各种形式、各 种版本的文档与程序的总称

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 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.GB B.DIN C.ISO D.IEEE 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)*n C、p×(1+i)n D、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. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

最新图书系统软件工程课程设计作业1

图书管理系统软件工程课程设计作业1

南京信息工程大学题目: 图书管理系统可行性研究 院系:滨江学院公共管理系 专业:信息管理与信息系统 学生姓名:吴贝健 学号:20142307041 指导老师:毕硕本

引言 目前国内中小型企业的图书管理系统平台主要有两种。第一种是系统在小型机(如IBM AS/400 RISC/6000)上开发运行。这种平台优点是与服务器相比机器速度快,容量大,自身网络安全、可靠、开放性强,适应多用户系统。但在硬件、操作系统、数据库软件等方面投资大。就本系统使用规模而言存在一定的浪费。第二种是系统在公司现有机器和网络结构上开发运行。考虑到需投资省、开发时间短、维护方便等要求,本系统开发将采用此种方案。具体原因有以下几点。 资源有效性 硬件 公司现有IBM NETFINITY 5000服务器二台(其中一台为备机)。其配置为P4,内存512M,硬盘80G,并有20G的磁盘镜像。IBM PC8168工作站有10台,其配置为P4,内存128M,网络结构采用的是目前流行的TCP/IP局域网络。公司现有图书近8万册,使用部门2 个,因而目前的硬件设备性能完全满足系统投产要求。 软件 公司服务器操作系统为WIN NT SERVER,PC工作站操作系统为WIN 98。根据现有设备、操作系统、网络结构,本系统采用COBOL语言和ORACLE数据库作为开发工具。 开发人员 XX软件开发公司是国内一家知名公司。技术力量强,开发经验丰富。公司所派的技术人员参加过类似系统的开发,有着较好专业水平和开发经验。完全能胜任此项工作。 开发风险 从公司提出的需求,以及目前公司规模情况和各种资源情况(机器、操作系统、软件工具、网络、技术人员素质等)看,该系统开发在技术上是完全可以实现的。而且能保证系统最终的使用效果,性能可以达到目标。

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

【软件工程】作业与答案解析

《软件工程》作业 第一章 1.什么是软件危机,它有哪些典型表现? 答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程?它有哪些本质特性? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。 4.软件工程是如何用来消除软件危机的? 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关

相关主题
文本预览
相关文档 最新文档