软件工程概论第一章:软件工程概述
目录
前言
西电大二下学期软件工程概论复习期间,对于这一门学科进行了总结复习,整理了相关的知识点与概念。以下是完整版软件工程概论复习资料资源已传至CSDN下载中。
完整版知识点资源
一、软件工程是什么?
1、问题求解
问题求解包括分析和组合两个部分,通过分析问题来确定问题的本质含义,再基于分析来合成解决方案
(1)分析
将一个大问题分解成更小的、可以理解的部分,并且了解他们之间的联系
(2)组合
将小的模块组合成大的结构
2、软件工程概念
软件工程师使用工具、技术、过程和范型提高软件产品质量。
(1)Method(技术):产生结果的规范化过程
(2)Tool(工具):用于以更好的方式完成某事的仪器或自动化系统
(3)Procedure(过程):生产产品的工具和技术的组合,用于产生特定的产品
(4)Paradigm(范型):构建产品的哲学或方法(例如,面向对象与结构化方法)
3、计算机科学与软件工程概念对比
(1)软件工程:使用计算机和软件技术作为解决问题的工具的学科。
(2)计算机科学:研究计算机结构和理论以及计算机功能的学科。
(3)关系:软件工程是计算机科学的一部分,因为软件工程师应用计算机科学研究的成果来构建工具和技术以满足客户的需求。
(4)示意图:
二、错误,故障,失效名词辨析
1、错误
描述人们在软件开发活动中出错的情况。
2、故障
错误产生时会发生故障,故障是站在开发人员的视角所看待问题,属于内部视图。
3、失效
指系统违背了它应有的型为,失效是站在用户的视角看待问题,属于外部视图。
4、三者关系
因此,我们需要减少错误,必须考虑对系统意向不到的使用方式,思考它会被如何滥用,假定被滥用后如何进行应对。
三、什么是好的软件?
1、不同的质量观
(1)先验观点:质量是我们可以认知但无法定义的东西
(2)用户观点:质量就是恰好达到目的
(3)制造观点:质量就是符合规格说明
(4)产品观点:质量与产品特性息息相关
(5)基于价值的观点:取决于客户愿意为此支付的金额
2、考虑质量的三种方法
(1)The quality of the product(产品质量)
(2)The quality of the process(过程质量)
(3)The quality of the product in the context of the business environment(商业环境背景下的产品质量)
3、产品质量
(1)不同的利益相关者可能有不同的标准:
用户判断外部特征(例如,正确的功能),设计人员和维护人员判断内部特征(例如,故障类型),因此,需要质量模型将用户的外部视图与开发人员的内部视图联系起来
(2)模型:McCall’s quality model
4、过程质量
(1)开发维护过程的质量与产品质量一样重要;活动出错,产品也会出错
(2)模型举例:
SEI’s Capability Maturity Model (CMM)
ISO 9000
Software Process Improvement and Capability determination (SPICE)
5、商业环境背景下的产品质量
(1)商业价值与技术价值同等重要
(2)商业价值的量化方法:投资回报率(ROI)
(3)ROI 对于不同群体有不同的解释:降低成本、预测节省、提高生产力和成本
(4)例:工业界是工作量,而公司是时间和人力成本
四、软件工程涉及人员
1、客户:为软件系统知夫费用的公司,组织,人员
2、开发者:构建软件系统的公司、组织或个人
3、用户:实际使用系统的人
五、系统的方法
1、系统的组成
(1)活动:发生在系统中的某些事情,描述为某些触发器所引起的事件,通过改变特性将一个事物转变为另一个事物
(2)对象:活动中涉及到的要素(例如具有固定格式的个人信息记录;也可以是独立存在的个体;或者某个类型的特殊化实例)
(3)关系:定义对象和活动之间的交互
(4)系统边界:决定了一组输入的来源和输出的目的地
2、系统的定义
我们把系统定义为一组事物的集合:一组对象,一组活动,对象与活动之间的关系,系统边界的定义。
六、构建系统的过程
需求分析与定义,系统设计,程序设计,编写程序,单元测试,集成测试,系统测试,系统交付,维护
七、团队成员
需求分析师:与客户一起识别和记录需求
设计者:对我们应该做的系统生成系统级描述
程序员:编写代码行来实现设计
测试人员:捕捉故障
培训师:向用户展示如何使用系统
维护团队:修复稍后出现的故障