软件工程总结

时间:2024.4.5

软件工程总结

学习具体内容:

计算机技术的迅速发展带动了软件行业的快速发展,软件工程作为一门如何运用工程化的方式有效地管理各规范软件开发的学科,已逐渐被广大计算机行业的人士所接受和运用。作为计算机专业学生必修课,同样也受到了广泛的关注。

第一章:

本章介绍了软件、软件工程、软件生存周期及其模型的一些基本概念,论述了软件工程学的基本范畴。阐述了目前比较常见的几种软件开发模式的基本理论、基本特点。 软件工程的目标指明开发项目应追求和应达到的标准。

软件生存周期模型是从软件项目需求定义直至软件使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。

目前常见的模型有瀑布模型、快速原型模型、增量模型、螺旋模型等。它们各有特色,开发人员可根据项目不同特点,选用不同的开发模型。

第二章:

可行性研究与需求分析是软件生存期中的基础,其根本的任务是确定所要开发的软件是否可行,以及确定用户对软件系统的需求。

本章首先介绍了软件可行性研究的主要任务、步骤、工具及如何制订项目计划。 介绍了两种常用的需求分析方法:结构化分析方法和快速原型方法。 结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 需求分析的评审过程和需求规格说明书的写法。

使读者更好地掌握软件需求分析的编写方法。

第三章:

本章介绍了软件设计的方法、工具和步骤。

软件设计分为概念设计和详细设计两个阶段,概要设计阶段首先介绍了软件设计的任务和目标,然后介绍了概要设计阶段一些重要的软件设计基本概念。其中以模块话概念和模块独立性为重。

接着介绍了结构化的设计方法。主要介绍变换分析和事务分析。

详细设计阶段主要接介绍了一些常用的设计工具,包括N-S图、PAD图、判定表与判定树以及PDL语言。

介绍了人机界面设计及设计过程中需注意的问题。

介绍的面向数据结构的设计方法。主要讲述了Jackson图及Jackson方法、改进Jackson方法和Jackson方法的设计步骤。

第四章:

编码的目的,是把详细设计的结构翻译成用选定的语言书写的源程序。程序的质量主要是由设计的质量决定的。但是,编码的风格和使用的语言,对编码质量也有重要影响。 软件测试是在软件投入运行之前,对软件需求分析、设计规格说明书和编码进行的最终复审,是保证软件质量的关键步骤。软件测试时为了发现错误而执行程序的过程。目的在于发现错误:一个好的测试用例在于能发现至今未发现的错误。

软件测试应贯穿于软件定义与开发的整个期间。软件测试的对象包括需求规格说明书、概要设计说明书、详细设计规格说明都应成为软件测试对象。软件测试不用仅限在程序测试的范围内。

软件的黑盒测试就是依据软件的需求规格说明书,检查程序的功能是否符合用户要求。这种测试不需要考虑程序内部的逻辑结构和内部特性,完全把测试对象看做一个黑盒子。常用的方法有:等价类划分、边界值分析和错误推测法。

软件的白盒测试是把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。白盒测试常用的方法有逻辑覆盖和基本路径测试。逻辑覆盖又包括多种标准。

软件的测试过程一般按4个步骤进行,即单元测试、集成测试、确认测试和系统测试。软件测试发现了软件中的错误,软件调试确定程序中可以错误的确定性质和位置,对程序进行修改,排除这个错误。

第五章:

软件运行与维护时软件生存期的最后阶段,也是软件生存期消耗时间和精力最大的阶段。由于各种因素,软件在使用过程中要经常维护才能正常运行。

软件维护的种类有四种:改正性维护、适应性维护、完善性维护和预防性维护。不同的维护应当适用不同的策略。软件的维护应当遵循一系列的维护流程。

文档时影响软件可维护性的决定因素。软件系统的文档可以风味用户文档和系统文档两类。软件的可维护性是衡量软件质量的重要指标。

软件的可维护性可以用软件的可理解性、可测试性、可修改性、可靠性、可移植性、可使用性以及效率等特性来度量。这些特性有的互相促进,有的相互排斥。软件设计人员应当根据具体情况在这多种特性之间进行合理的取舍。

提高软件的可维护性事延长软件寿命的重要因素。

提高软件的可维护性,应当首先建立明确的软件质量目标和优先级,利用模块化、结构化等提高软件质量的技术和工具进行软件设计,要进行明确的质量保证审查,选择可维护的高级语言来进行程序的编写。

第六章:

面向对象技术是现代软件开发过程中比较流行的技术,它把软件开发过程的各个阶段进行综合考虑,集中了面向对象的分析、面向对象的设计实现。面向对象方法使用对象、类和继承机制,对象之间仅能通过传递消息实现彼此通讯。面向对象方法学符合人类思维方式,采用面向对象软件开发方法主要是建立3中模型的过程,循环不断完善,它有 多优点适合

软件开发。CML是面向对象方法是用的标准建模语言,是一种可视化的、用于绘制软件蓝图的标准建模语言。提供了用于交流的词汇表和使用这些词汇的规则,由一些符号和一套指示如何使用这些符号的规则构成,可利用这些明确定义的符号和相应的规则,建立待开发系统的各种模型。

UML的视图主要有5种:用例视图、逻辑视图、并发视图、组件视图和部署视图、UML中的图由各种图形构成,图形就是各种模型元素符号。图用来描述一个特定视图的内容UML。提供了两大类图—静态图和动态图。各种图中使用概念统称为模型元素。UML的通用机制有:规格说明、修饰和注解。

UML的扩展机制包括:构造型、标记值和约束。UML的规则包含语法规则、语义规则和实用规则。标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。利用UML语言建模有3个主要要素:UML的基本构造块。控制这些构造块如何组合的规则。作用于整个UML模型的通用机制。UML的静态建模机制包括用例模型、雷和对象模型。动态建模利用图形工具来描述系统的动态行为。状态图、时序图、协作图和活动图均可用于系统的动态建模,但它们各自的目的和侧重点不同,在实际应用中可灵活运用。在UML中,逻辑架构和物理架构组成了系统的架构。逻辑架构通过系统的功能需求来描述:物理架构描述系统非功能部分,如可靠性、兼容性、资源使用和系统分布。

第七章:

主要介绍了面向对象的分析。是抽取盒确定用户需求并建立问题域精确模型的过程,主要是通过建立对象模型、动态模型和功能模型而逐步完成的。

面向对象设计师吧分析阶段得到的对目标系统的需求转变为符合成本和质量要求的、抽象的系统实现方案的过程。面向对象设计主要包括:问题域的设计、人机界面的设计、任务管理部分设计和数据管理部分设计。

面向对戏那个的实现主要介绍了语言选择及编码实现基本原则介绍了面向对象测试的特点及应采用的基本方法。

针对面向对象开发模型的特点,结合传统的测试步骤的划分,可以把面向对象软件测试分为:面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元测试、面向对象集成测试、面向对象系统测试。

开发方法是现代软件开发过程中比较流行的技术,它把软件开发过程的各个阶段进行综合考虑,集中了面向对象的分析、面向对象的设计及面向对象的实现。

第八章:

主要介绍了在软件工程中,管理扮演重要的角色,是软件工程的重要组成部分,只有进行科学的管理,才能组织科学,先进技术充分发货作用。在大型软件工程项目中,尤为重要。

管理离不开度量,本章从费用、人员、进度等方面讨论了软件项目中的一些基本度量技术与方法,给出了估算成本的各种模型,计算人力需求的Rayleigh曲线,计算进度的PERT技术,一切正是“靠度量来管理”这一原则在软件管理中具体体现。

介绍了集中项目进度安排技术及开发人员的组织形式。根据软件的规模估算,制定合理的项目进度安排及人员组织形式,是项目科学管理的基本保证。

质量是技术与管理结构的最终体现。本章从运行、维护、与软件移植等三个方面介绍了软件的质量属性,强调质量保证是贯穿整个软件生存周期的重要活动。

可靠性在软件质量属性中占有主要的地位,本章介绍了度量软件可靠性的主要指标及可靠性分析方法,给出了估算平均故障时间的公式。介绍了度量软件可靠性的主要指标及可靠性分析方法。

介绍了软件容错技术的基本概念及常用的容错技术。

介绍了软件配置管理的概念机配置管理过程的主要任务。

学习总结:

从总体来看、对于各章节的掌握情况对教材中的各个知识点理解还是比较全面的,当然有一些特殊的专业术语不是懂、不能熟练掌握的知识点也是有很多。在第一章中,关于如那件的概念及特点、软件危机产生及消除途径、软件工程的概念及其研究内容的掌握和理解还是比较容易的,对软件生存周期的定义及其模型的掌握较为模糊和不易理解。

学习体会,在学习这门可之前,对这门课程的认识一窍不通,在学习起来有点吃力,但在学习之后,对着门功也有了一定的了解,知道软件工程其实是一门特别有用的计算机知识,他特别是对于我们计算机专业的同学来说,软件工程当中的很多的知识点,我们在其后的教学与学习过程当中都会遇到。


第二篇:软件工程总结


软件工程总结

软件工程是一门关于计算机软件的开发过程、方法和工具的学科。通过对软件的概述学习,对软件生命周期的了解,我把软件分为定义、开发、设计、运行以及维护四个阶段,一下就是我对各阶段进行的逐一的阐述。

第一阶段:定义阶段

定义阶段是软件工程过程中重要的一环,也是最简短的阶段。它包括对项目的评估,召开意向会议,得出项目计划等事项,在这一环节中,产出评估表和计划表等,为下一阶段即开发阶段做好根基工作。

第二阶段:开发阶段

开发阶段最重要的就是需求分析,它直接决定着系统的开发质量和系统成败,必须明确用户的要求和应用现场环境的特点,了解系统应具有哪些功能、数据的流程和数据之间的联系、隐式的需求功能等。根据以上需求分析写出需求文档。

需求文档,首先是要将需求获取后的需求分析提炼用建模型(包括E-R图,时序图,用例图,低保真,高保真等等)的方式表达,并要注意对结构化方法和面向对象等方法的运用。

其次,是格式方面。在需求文档的书写中,包括以下部分引言(目的,原则)、产品描述、项目概述(功能简介、用户特征、条件与限制等等)、功能需求(重点包括:功能描述{可以利用书序图,用例图,低保真等描述}、参与执行者、前置条件、后置条件、基本事件流、拓展事件流、成功场景、失败场景、数据流等等)、数据描述(数据概要设计,形成数据表)、性能需求、非功能需求、运行需求、接口要求、其他需求、附录等方面。

最后,要把需求规格说明书提交进行评审,评审通过后,进行第三阶段,否则继续修改完善。

第三阶段:设计阶段

设计阶段包括编码和测试。

1. 编码

首先在编码前,我们要有一个实现思路,即先做设计。利用高内聚,低耦合、面向对象等思想进行设计,进行反复的讨论,写出伪代码。

编码过程中,我们要注意代码的规范性,添加必要的注释,已便于理解;而且要不断的思考并提问。

编码完成后,我们需要自我的验证,利用excel表格等形式将测试注意点罗列,进行逐一测试,并保留必要的测试场景。

2. 测试

测试前,我们需要了解各种的测试工具,并尽量避免开发人员

对自己代码的测试,根据需求写出测试方案,再提交测试方案进行评审,评审通过进行测试。

测试过程中,利用白盒,黑盒,单元,集成等测试方法进行测

试,并注意保留必要的测试场景。

测试后,我们需要写出测试报告,进行提交

第四阶段:运行和维护

软件的维护(包括:恢复性维护、适应性维护、完善性维护、校正性维护和预防性维护)是对软件的质量的保障,保证软件的正常运行。

在四个阶段完成后,我们需要由客户对软件的验收工作,在验收之前我们要有测试报告,要将配置项做好,最后等待客户的验收。

总结:

首先,我们要从自身的角度出发,根据自身实际情况,总结个人所学,提出自我的不足并进行自我完善,并制定下一期的目标和任务。

其次,从团队出发,给团队存在的问题提出意见,以便于进一步加强团队合作,提高团队的素质。

最后,将自己在这一过程中所遇问题的解决方案进行总结,以便于下一次的工作。

更多相关推荐:
软件工程总结

1.软件危机的定义:计算机软件的开发和维护过程中所遇到的一系列严重问题。出现的问题:a.如何开发软件,已满足对软件日益增长的需求b.如何维护数量不断膨胀的已有软件特征:软件具有长期性和症状不明显2.软件工程:指…

软件工程总结

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

软件工程总结

一个软件从开始计划起,到废弃不用止,称为软件生命周期。一般来说,软年生命周期包括计划、开发、运行三个时期,每一个时期又可分为若干个更小的阶段:1.可行性研究。这个阶段主要是确定软件的开发目标及其可行性,给出其在…

软件工程总结

软件工程过程:是为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。针对不同类型的软件产品,同一软件开发机构也可能采用多个不同的软件工程过程。是把输入转化为输出的一组彼此相关的资源和活动。从…

软件工程总结1

Personally,Ithinkthesoftwaredevelopmentprocesstoachievespecifictoeachstepoftheworktocompletewhatisveryfle…

软件工程总结

软件工程软件:计算机程序,方法,规则和相关文档资料及在计算机上运行所需的必要的数据。软件=程序+数据+文档资料软件的特点:1软件是一种逻辑产品2软件没有明显的制造过程3软件对硬件和环境的依耐性4软件不存在机械的…

软件工程总结

软件工程总结第一章:1.软件的定义:(1)在运行中提供所希望的功能和性能的指令集(即程序)(2)使程序能够正确运行的数据结构(3)描述程序研制过程和方法所使用的文档2.软件的特点:(1)软件是一种逻辑实体,而不…

软件工程总结

软件工程总结软件工程是一门关于计算机软件的开发过程、方法和工具的学科。通过对软件的概述学习,对软件生命周期的了解,我把软件分为定义、开发、设计、运行以及维护四个阶段,一下就是我对各阶段进行的逐一的阐述。第一阶段…

软件工程总结

1.软件定义:程序、数据、文档。特性:逻辑产品,无老化,客户定制。2.软件工程:将系统化的、规范地、可度量的方法应用于软件开发、运行、维护的过程,即将工程化应用与软件中,以及对所述方法的研究。3.软件过程是指按…

软件工程重点总结

1、什么是软件危机?软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2、软件危机的主要表现(1)对软件开发成本和进度的估计常常很不准确(2)用户对“已完成的”软件系统不满意现象经常发生(3)软…

软件工程心得体会

软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但…

软件工程期末复习总结

软件工程期末复习总结第一章软件工程学概述1.软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。包括如何开发软件,如何维护数量不断膨胀的已有软件。2.软件生命周期的定义及划分3.软件从定…

软件工程总结(52篇)