- 3
- 0
- 约1.1万字
- 约 6页
- 2017-03-08 发布于贵州
- 举报
软件工程学习心——汪子洲
软件工程实践课总结
转眼间软件工程实践课就结束了。课程虽然短暂,但是内容丰富,其中更有很多不仅仅局限于这门课程,甚至不局限于计算机这门学科的学问值得我们去挖掘与学习。下面我浅谈一下这门课学习下来自己的一点点收获。
本课程名为软件工程实践,首先我想以它的理论课——软件工程作为开始。首先我们应该明确一下何为软件工程。软件工程,即将系统的,规范的,可度量的工程化方法应用于软件开发、运行和维护的全过程以及对上述方法的研究。它有三个组成要素:
1、软件工程方法:项目计划、估算、系统与软件需求分析、软件设计、编码、测试和维护。
2、软件工程工具:辅助支持软件的开发、管理以及文档生成等。
3、软件工程过程:贯穿软件开发的每个环节,过程的细节在于对质量、进度、成本进行评估、管理和控制。
下面再介绍几个关于软件工程的重要知识点:
软件工程方法学
软件工程方法学是为了解决软件危机问题而逐渐形成的学科,研究对象主要是软件与程序。它分成两个不同的角度与方法:以数学理论为基础的理论性程序设计方法学和以工程方法为基础的程序开发、维护、工具和管理的软件工程学。他们之间的差异在于:1、方法与途径不同,一个是应用性的工程方法,另外一个是理论性的数学方法。2、对象有所侧重,软件工程学一般争对大型程序或者系统,程序设计方法学侧重较小的程序模块。3、软件工程学注重宏观可用性,程序设计方法学注重微观正确性。
软件工程的基本原理
1983年由B.Boehm提出,这七条原理是保证软件产品质量与开发效率的最基本的准则。
1.用分阶段的生命周期计划严格管理。
2.坚持进行阶段评审。
3.实行严格的产品控制。
4.采纳现代程序设计技术。
5.结果能清楚地审查。
6.开发小组的人员应少而精。
7.承认不断改进软件工程实践的必要性。
软件工程的目标
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性,可重用性、可适应性、可移植性、可追踪性、可互操作性并能满足用户需求的软件产品。
软件工程的几个主要阶段
可行性分析→需求说明与分析→概要设计→详细设计→编码→测试→维护 软件工程的内容
软件工程主要包含软件开发技术与软件开发管理。
其中软件开发技术包括软件开发方法、软件开发过程、软件开发工具、软件开发环境。软件开发管理包括软件管理学、软件经济学、软件心理学。
软件工程的原则
原则是因软件工程的目标而设,包括:
抽象:采用分层次抽象控制软件开发过程的复杂性。
模块化:由逻辑独立单元构成,有良好的接口。
信息隐藏:技术与逻辑封装隐藏起来。
局部化:模块具有内聚性,局部独立。
完整性:完全实现系统需要的功能。
一致性:使用一致的概念、符号与术语。
可验证性:系统容易检查,测评,评审。
软件生命周期模型
软件生命周期模型就是描述软件开发过程中各种活动执行的抽象模型,主要有如下几种:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、基于知识的模型、变换模型。
软件开发方法
结构化方法、Jackson方法、维也纳开发方法、面向对象的开发方法。面向对象的开发方法有:Booch方法、Coad方法、OMT方法。
在一定程度上熟悉了软件工程的基本概念后,我们现在可以通过具体的实际的例子在理论的指导下来分析一下具体的例子,也就是开始初步的软件工程实践。
以ORACLE的物联网物流仓储管理系统为例,将例子分为需求分析、概要设计、详细设计三个阶段做略微详细的说明。
首先开始需求分析。
为了思维过程、这里把需求分成说明阶段与分析阶段,但在实际工作中这两个阶段经常是同时的、甚至是不可分的。要把需求说明清楚,则必须要进行需求分析;需求分析的结果就是需求说明的内容。需求说明一般采用非形式化描述,需求分析采用形式化描述;需求分析是软件定义的最后阶段;需求分析必须准确解决“系统必须做什么”这个问题,而不是解决“系统怎么做的问题”;需求分析结束后,必须提交详细的数据或者功能流、数据字典、算法描述等。
需求分析的主要任务是:
1、问题明确定义,包括:
功能需求:软件具备的功能。
性能需求:访问延时、存储容量、运行时间、负载,并发访问。
环境需求:硬件、操作系统、数据库管理系统、工具等。 用户界面需求:界面形式,输入输出数据格式等。
系统可靠性、安全性、维护性、移植性需求。
2、建立软件的逻辑模型
功能用例结构。
3、编写文档
编写需求说明文档。
一般需求分析模板如下:
1、系统概述
·现状分析,建设目标
·系统范围定义
·条件与限制
2、功能需求
·用例模型
·整体功能描述
·功能用例
3、外部接口
·硬件接口,软件接口,通信接口
4、非功能性需求
·安全需求,维护性,移植性,可靠性,易用性,效率,性能需求 图1
·用户界面需求
·文档需求 ·系统运行环境需求:运行环境、支撑软件
·其他需求
结合
原创力文档

文档评论(0)