软件工程总结

一个软件从开始计划起,到废弃不用止,称为软件生命周期。一般来说,软年生命周期包括计划、开发、运行三个时期,每一个时期又可分为若干个更小的阶段:1.可行性研究。这个阶段主要是确定软件的开发目标及其可行性,给出其在功能、性能、可靠性以及接口等方面的要求。可行性分析由系统分析员和用户的合作探讨,并且对可利用资源、成本、可取得利益、开发的进度做出估量,制定任务实施计划,连同可行性报告提交给管理部门。2.需求分析。它是作为系统工程定好软件工程后的一个后续任务出现的。需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。软件人员与用户共同讨论决定,哪些需求是可以满足的,并且加以确切地描述。然后写出软件需求说明书提交管理机构。

3.软件设计。它是软件工程技术的核心。设计人员应该建立一个与确定的各项需求相应的体系结构。它包括总体设计和详细设计。每个部分都是一个意义明确、针对需求的模块组成,对每一个模块进行工作量描述,为源程序打下基础。所有设计中的考虑以设计说明书的形式加以描述,以供后续工作使用并提交评审。4.程序编写。它是软件过程开发的步骤。主要是将软件转化为计算机代码,对其功能用某一特定的计算机语言进行描述。5.软件测试。它的目的用来确认一个系统的品质性能是否符合用户提出的要求的标准。它是软件投入使用前,对软件需求规格说明书、设计规格说明和编码的最终复审,是软件质量保证的关键过程。6.运行和维护。软件产品开发完成投入使用后可能运行若干年。在运行过程中可能因为某些原因需要对软进行更改。它是软件周期中持续时间最长的阶段。

通过本学期的学习,我也了解了要成功开发一个完整的软件,并通过各种考核投入使用的过程是非常复杂的,它需要遵循7条基本原理:1.用分阶段的生命周期计划严格管理。它主要是把软件生命周期分成若干个阶段,并制定出相应的切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。2.坚持进行阶段评审。因为软件的质量保证不能等编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。3.实行严格的产品控制。开发人员最痛恨的就是改动需求。4.采纳现代程序设计技术。5.结果就能清楚地审查。6.开发小组的人员就少而精。7.承认不断改进软件工程裎的必要性。软件工程的基本目标是:付出较低的成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作及时交付使用。

在今后的学习和工作中,如果我们要做一个优秀的程序员,要为某单位或企业需要开发一项软件,并让它能够顺利的投入运行或使用,都需按照软件生命周期的步骤进行,并且选择适合该软件的开发方法和开发模型。以上就是我通过对这门课程的学习所得的收获,在这里非常感谢老师的辛勤教导。虽然这门课程的学习已经结束了,但对于我来说也只是一个初识阶段,我觉得我对软件工程的了解远远不够,在今后的日子里,我仍然会需要努力学习,不断提升自己,改善自己。

 

第二篇:软件工程总结

1 何谓科学,何谓工程?(第一章)

科学是反映自然、社会、思维的发展与变化规律的知识体系。科学(研究)是以发现为核心的人类活动,探索事物的本质和运动规律,追求真理,认识世界,回答“为什么”,体现非物质形态财富。

工程是与生产、建设相关,运用自然科学理论和技术原理得以实现的活动(狭)。以构建、运行与集成为核心的人类活动,遵循社会需求,追求一定条件下的集成与综合优化。

2什么是可移植性(方法)?P347

把一个程序从一个硬件或软件系统环境移植到另一个环境所需的工作量。

3什么是软件生存周期?p7

软件生存周期是软件产品从形成概念,经过开发、使用和维护直至最后退役的全过程。大致分为如下6个阶段计算机系统工程、需求分析、设计、编码、测试、运行和维护

4. 什么是可维护性p347

定位和修复程序中一个错误所需的工作量。

5文档功能是记录软件-____开发___活动和阶段成果,能供人和机器阅读,是有永久保存属性。

6. 计算机软件是指与计算机系统有关的 程序 、规则、规程有任何与之有关的文档和数据。 包括机器可执行的程序及有关数据;机器不可执行的与软件开发、运行、维护、使用和培训有关的文档。P1

程序:用程序设计语言描述的,计算机能够处理的语言序列。

文档:一种数据媒体及其上所记录的数据。文档(功能/作用)记录软件开发活动和阶段成果,能供人和机器阅读,具有永久保存属性。 7软件开发包括哪些阶段,主要解决什么问题?P19

概念定义,具体包括计划和需求分析阶段,主要解决做什么的问题。

开发,具体包括设计,编码,测试阶段,主要解决怎么做的问题。

使用维护,即运行维护阶段,包括些交付、安装、运行、维护和退役等。

8. 软件概念定义包括那三部分,主要解 决什么问题。P4 P1

(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲划分为系统软件、支撑软件和应用软件。

9软件需求是指用户对目标系统在功能、行为、性能、设计、约束等方面的 期望 P48

10. 什么是模块?

模块指具有一定功能的可以用名字调用的程序语句集合。

模块化是指把一个待开发的软件划分成若干小的简单部件,每个部件称为一个模块,每个模块完成一个相对独立的一个子功能,所有这些模块集成起来就可以完成软件系统的指定功能,满足问题的要求。P66

模块化的目的是使程序的结构清晰,易阅读、易测试和修改。采用模块化方法,可以控制复杂问题的求解规模,减低问题复杂度和减少求解成本。 11什么 模块耦合度,什么是模块内聚度?P68

耦合是一个软件结构内不同模块彼此之间互相连接(依赖)的紧密程度。

耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。耦合度衡量不同模块彼此间相互依赖的紧密程度。 内聚是一个模块内部各个元素彼此结合的紧密程度。好内聚的模块只做一件事情。内聚度衡量同一个模块内部的各个元素彼此结合的紧密程度。 模块的独立性可以由两项指标来衡量:内聚度与耦合度。

12 . 结构图最主要的质量指标是模块的 内聚度 和 偶合度 。(第五章)

13在设计用户界面(也称人机界面)的过程中,几乎总会遇到系统响应时间,用户求助机制,出错--信息处理和命令交互方式四个方面的问题。P242

14. 什么是系统响应时间?P242

系统响应时间指从用户执行某个控制动作(如按回车键或单击鼠标)到软件做出响应(期望的输出或动作)的时间。

15简答有哪三类人机界面设计指南(黄金原则)?p243

让用户拥有控制权;减少用户的记忆负担;保持界面一致

16. 简述什么是编码?第十章P251

编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。

17何谓程序设计风格或编码风格?P255

程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.在程序设计中要使程序结构合理、清晰,形成良好的编程习惯,对程序的要

求不仅是可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护,这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。 包括4个方面:源程序文档化、数据说明、语句结构、和输入输出。256

编写规则:文档化、结构化、模块化、节简化、简单化、格式化。

18. 为一个开发项目选择程序设计语言时,通常会考虑 项目所属的领域 ;算法和计算复杂性;软件运行环境;用户需求中关于性能方面的要求;数据结构的复杂性,软件开发人员的知识水平因素。P255

19软件测试的目标是什么?P263 PPT 第11章

软件测试就是在软件投入生产性运行之前,尽可能多地发现软件中的错误,进而改正错误的过程。发现和改正错误越多,交付的软件就质量越高,后期纠错性维护就越少。测试是一项很艰苦的工作,也是一项“建设性”活动

测试目标 1.期望用最少的时间和人力找出软件中潜在的各种错误和缺陷 2. 证明软件的功能和性能与规格说明的吻合程度3.为可靠性分析提供依据 4.通常测试每一种可能情况是不现实的5.没有发现程序中的错误,并不能证明软件没有错误

20. 基本路径测试的基本思想是什么?P273程序环路复杂性有什么意义?PPT 第11章

基本思想:根据软件详细设计或代码中的控制结构流程确定复杂度,然后以该复杂度定义执行路径的基本集合,并由此导出一组测试用。

程序的环路复杂性确定程序基本路径集合中的独立路径条数。独立路径是指包括一组以前没有处理的语句或条件的一条路径。用流图术语描述,一条独立路径至少包含一条在其他独立路径中从没有过的边的路径。

21简析等价类划分法?P277 PPT 第11章

等价类划分法是把程序的输入数据集合按输入条件划分成若干个等价类,每一个等价类相对于输入条件表示为一组有效或无效的输入,然后据此为每一个等价类设计一个测试用例。

22. 简述驱动模块和桩模块的作用? PPT 第11章

驱动模块调用被测模块,接收测试输入数据并把这些数据传送给被测试的模块,被测模块调用后,驱动模块接受被测模块的返回数据。

桩模块也叫存根模块,它代替被测试的模块所调用的模块。桩模块使用被它代替的模块的接口,但内部只做少量的数据操作,并且把控制和模拟结果归还给调用它的模块。

23为何要引入驱动模块和桩模块? PPT 第11章

驱动模块和桩模块是测试使用的软件,它们不是软件的组成部分,但需要一定的开发费用。 简单的驱动模块和桩模块不能完成某些模块的测试任务,只能在集成测试过程中同时完成对这些模块的详尽测试。

引用驱动模块和桩模块原则有:单元测试通常与编码工作结合起来,通常,模块本身不是一个独立的程序,因此在测试模块中必须为每一个被测模块开发一个(引用)驱动模块和若干个桩模块。

24.何谓调试? PPT 第11章

调试,又名排错,它是根据测试出问题的外部现象(又名错误或外错),分析找出问题的内在原因(又名故障或内错)并加以改正的代码执行与人工活动。 调试的任务就是确定错误的准确位置(定位错误)、分析引发错误的原因,最终排除错误。

黑盒测试(行为测试)检查程序功能是否符合按照规格说明书的规定,测试只在程序界面上进行。包括等价类划分、边界值分析、比较测试、错误猜测何因果图方法。

白盒测试(结构测试)检验程序中的每条逻辑通路能否都按预定要求正确工作,测试按照程序内部的逻辑进行。包括逻辑覆盖测试、基本路径测试、数据流测试和循环测试。

25旅行社把预定机票的旅客信息,如姓名、年龄、单位、身份证号、旅行时间、目的地等输入预定机票系统,系统为旅客安排航班,打印出取票通知单(附有应交的账款)旅客在飞机起飞前交付票款,系统检查无误后,输出机票给旅客。

试用结构化分析方法描述系统的逻辑模型(系统的功能需求)并建立相应的数据字典,要求数据字典中至少包括一个数据流、一个数据文件、一个加工的详细的定义。

26.为方便储户,某银行拟开发计算机储蓄管理系统,储户填写的存款单或取款单由银行柜台业务员键入系统,如果是存款,系统记录存款人姓名,住址,存款日期,利率等信息,并印出存款单给储户;如果是取款,系统进行取款处理并印出结算单给储户,

请用结构化分析方法描述系统的逻辑模型(系统的功能需求),并建立相应的数据字典,要求数据字典中至少包括一个数据流,一个文件和一个加工的详细定义。

相关推荐