软件工程课程总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程总结

本课程是一门介绍应用软件开发的概述性的课程,系统讲授了应用软件的相关开发过程,和所应用的技术。课程讲授了9章的内容,包括产品、软件工程与软件过程,软件需求工程、分析建模、设计工程、软件体系结构设计、用户界面设计、构件级设计和软件测试技术等。

1、软件产品

计算机软件是一种特殊的逻辑产品,其为在计算机上运行的各种程序、数据及其说明程序的各种文档;软件承担着双重角色,软件是一个产品,同时又是产品交付使用的载体;软件是逻辑的而不是有形的,软件是基于计算机的系统元素,因此软件具有与硬件完全不同的特征;软件产品有着特有的产品分类方法;在计算机软件开发中所遇到的一系列无法完全解决的问题,导致了软件危机或软件苦恼的产生;在软件开发过程中,由于软件产品开发的特性导致了一些神话的产生,这些软件神话误导了人们,对软件项目管理者、客户和开发人员都带来了严重的问题,了解相关情况可以使我们能以正确的态度对待软件开发工作;由于软件产品的特殊性,软件工程从业人员的职业道德和行为准则显得更加重要。

2、软件工程与软件过程

软件工程是由有创造力的、有组织的人在定义成熟的软件过程中进行的,该过程适合于软件开发人员建造的产品和产品的市场需求;软件工程的定义:建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效地运行。

软件工程过程是一个为建造高质量软件所需要完成的任务的框架,是建造软件产品的一组活动及其结果。通用过程框架目的:

交流-----项目启动、需求获取及其任务集合

计划-----项目评估、进度安排、项目跟踪等

建模-----分析模型和设计模型

构造-----代码生成和软件测试

部署-----产品交付、技术支持、用户反馈等及其相应的任务集合。

3、软件工程过程模型,是指能够覆盖软件工程的过程、方法和工具以及软件工程的一般阶段的开发策略。过程模型的选择待建造软件的特点、所采用的方法与工具、以及需要的控制和交付的产品。

瀑布模型,增量过程模型——增量模型、RAD模型,演化过程模型——

原型模型、螺旋模型,面向对象软件工程过程模型——统一软件开发过程。

4、需求工程

基于计算机的系统工程:在了解系统之前,匆忙建造技术元素,无疑将导致使客户失望的错误。在关注树木之前,先了解森林;基于计算机的系统:元素的集合或排列,这些元素在一起通过处理信息完成某些预定义的目标;系统元素——

软件、硬件、人员、数据库、文档和规程;启动一个系统工程——发现领域过程、领域分析、识别协作系统、发现系统需求、将结果提交给客户;系统建模:评估系统构件及其相互关系。

5、软件工程实践

理解问题(交流和分析)、计划解决方案(计划与建模——

软件设计);实施解决方案(构造——代码生成);检查结果的精确度(构造成部暑——软件测试、质量保证、用户技术支持)

6、软件需求收集与分析

构建一个软件系统最困难的部分是确定构建什么。其他的软件开发工作,不会像这部分工作一样,在出错之后如此严重地影响随后实现和系统,并且导致在以后进行的修补会如此困难;“我知道你相信你已经理解了你认为我所说的内容,但是我并不能肯定你已认识到你所听到的并不是我所想要的”。

7、软件需求分析的工作活动

起始——建立对拟开发软件(待解决的问题)的基本理解

导出——问题的范围、问题的理解、问题的变化;

精化——开发精确的技术模型,说明软件的功能、行为和约束

协商——确定合理的系统目标和需求优先级

规格说明——给出对软件系统功能和性能的描述,给出影响系统开发的约束;

确认

需求管理

8、软件的需求诱导——需求诱导原则

需求定义——

需求是关于系统(软件系统)将要完成什么工作的一段描述语句,它们必须经过所有相关人员的认可,其目的是彻底解决客户的问题;

需求诱导原则(与客户的交流沟通活动)——

倾听、有准备的沟通、需要有人推动、最好当面沟通、记录所有决定、保持通力协作、聚焦并协调话题、采用图形表示、继续前进原则、谈判双赢原则;

软件需求的过程启动——

首次提问、一组加深理解并使客户能够表达其关于解决方案的感觉的问题、关于效率的“元”问题。

9、软件需求的导出

质量功能部署——正常的需求、期望的需求、令人兴奋的需求。

功能性需求和非功能性需求——

功能性需求,描述系统为用户或其他系统提供的服务;非功能性需求,系统开发过程必须遵守的约束。

10、用户场景与分析建模

用户场景(use—case)

构建分析模型——数据模型、功能模型、行为模型

11、需求确认与规约

12、分析建模

分析建模使用文档和图表形式的组合,以相对容易理解的方式描绘数据、功能和行为的需求,并直接评审其正确性、完整性、一致性。

分析建模原则:

原则1:必须描述和理解问题的信息领域

原则2:必须定义软件将实现的功能

原则3:作为外部事件的结果,必须描述软件的行为

原则4:描述信息、功能和行为的模型必须通过问题的划分,以层次的方式揭示细节原则5:分析过程应从要素信息移向实现细节

13、分析建模的任务集合

评审需求

扩展和细化用户场景

信息建模(数据对象描述与数据建模)

功能建模

行为建模

用户接口分析和建模

评审所有模型,考察其正确性、完整性和一致性

14、用户场景建模:开发用例;场景建模

数据建模:数据对象描述——数据字典,数据建模——

数据对象、属性和关系,数据模型——实体——关系图(ERD)

功能建模和信息流:信息流模型(DFD),信息流与功能建模

行为建模——状态变迁图(STD)

15、设计的原则与概念

设计是将要建造的某种事物的有意义的工程表示。软件设计创建软件的表达或模型,提供了软件数据结构、体系结构、接口和软件构件的设计细节——

提供了软件系统实现所必须的工作基础。

对设计良好的软件而言,坚固是指程序不应含有任何妨碍其功能的缺陷;适用则是程序符合开发目标;赏心悦目意味着使用程序的体验是愉快的。

设计原则

设计过程不应该受“隧道视野”的限制;

设计对于分析模型应该是可跟踪的;

设计不应该从头做起;

设计应该缩短软件和现实世界中问题的“智力距离”;

设计应表现出一致性和集成性

设计的构建应该适应变更

设计的构建,应该使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级;

相关文档
最新文档