(软件工程)第一章~第四章 主要内容

第一章

 

软件工程
是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件工程包括下列领域
软件需求分析、软件设计、软件构建、软件测试和软件维护。
软件工程和下列的学科相关
计算机科学‘、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。
软件工程和软件开发流程
人们在开发、运营、维护软件的过程中有很多技、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。
软件开发流程的目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。

 

程序=数据结构+算法
软件=程序+软件工程
软件公司=软件+商业运作模式

 

第二章

 

软件开发过程模型的定义
软件过程模型是人们在软件开发实践中总结出来的、适用于具有某一类特征项目的标准开发过程。
软件开发模型提供了一个框架并把必要活动映射这个框架中,包括主要的开发阶段、各个阶段要完成的主要任务和活动。各个阶段的输入输出。

常用的软件开发过程模型
瀑布模型
原型模型
增量模型
螺旋模型
喷泉模型
统一软件开发过程RUP

软件工程研究所(SEI)
软件能力成熟度集成模型(CMMI)

面向对象技术的组成
面向对象分析(OOA)
面向对象设计(OOD)
面向对象编程(OOP)


面向对象的基本概念包括对象、类、消息等等。
对象:对象是要研究的任何失误。
类:类是对象的模板。
消息:消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。

面向对象技术的基本特征是:封装、继承、多态。
封装性:封装是一种信息隐藏技术,它体现于类的说明。
继承性:继承性是子类自动共享父类之间数据和方法的机制。
多态性:对象根据所接收的消息而作出动作。

 

第三章

项目前期的主要工作如下:
现状分析:硬件分析,软件分析。
需求收集:业务需求,用户需求,功能需求,非功能性需求。
粗略设计:体系结构设计,硬件设计,应用系统设计,安全设计,配套设计。
可行性分析


结构化项目前期与面向对象项目前期的区别:
业务流程分析:前者是业务流程图后者是业务用例图。
系统分析:前者是系统流程图后者是系统组件图。
系统配置:前者是系统架构图后者是系统配置图。

 

第四章


需求分析实现的目标是将软件用户对软件的一系列意图、想法转变为软件开发人员所需要的有关软件的技术规格
需求分析步骤:需求获取、需求建模和细化、需求文档化和需求验证。
需求获取的方式:焦点小组 Focus Groups 卡片分类Card sorting 用户问卷调查Surveys 人类学调查Ethnographic Studies 快速原型调研Quick Prititype Stdudies 眼动跟踪研究Eye Tracking Studies 日志调研Diary Studies 深入面谈in-depth interview A/B测试

结构化需求分析模型:数据流图和数据字典
面向对象需求分析模型:用例模型和分析类模型

数据流图是描述系统中数据流的一种图形工具,是一种用来表示信息流和信息变换过程的图解方法。
数据字典被用来对数据流图中的加工和数据进行补充的说明,对数据流中出现的图形元素做出确切的解释。

需求文档化
需求文档具有清晰性、无二义性和准确性

数据字典一般应包括对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体进行定义和描述。

关联指参与者与用例之间
泛化指参与者之间或用例之间
包含、扩展指用例之间

 

posted @ 2018-03-23 13:32  一笑笑  阅读(175)  评论(0编辑  收藏  举报