《面向对象软件工程》笔记
1、软件的一种分类:定制软件Custom Software、通用软件Generic Software、嵌入式软件Embeded Software。
2、软件工程 定义:是在成本、时间及其他的约束条件下,通过对大型、高质量的软件系统的系统化的开发与演进,从而解决客户问题的过程。
3、软件工程中IEEE/ACM道德公约的要点:
(1)与公共利益保持一致;
(2)在符合公共利益的前提下,最大限度地满足客户与雇主的需要;
(3)按可能的最高标准开发与维护产品;
(4)进行专业决策时保持诚信与自主;
(5)在管理中体现道德意识;
(6)在符合公共利益的前提下,提升职业的诚信和信誉;
(7)同事间公平相处、相互支持;
(8)参与终身学习。
4、相关人员,4种角色:用户user、客户customer/client、开发者developer、管理人员manager。
5、软件质量的属性:
(1)可用性usability;
(2)效率efficiency;
(3)可靠性reliability;
(4)可维护性maintainability;
(5)可重用性reuseability。
外部质量属性external quality attribute
内部质量标准internal quality criteria:
(1)代码注释量;
(2)代码的复杂性:用嵌套深度、分支数量以及所使用的复杂程序结构来衡量。
6、软件工程项目 分类:
(1)进化型项目(它又分:纠错性corrective项目、适应性adaptive项目、增强性enhancement项目、重建性re-engineering或完善性perfective项目);
(2)零起点项目;
(3)在框架或已有构件的基础上构造项目。
7、软件项目中常见的活动
1)需求与规格说明
领域分析domain analysis:了解相关的背景信息,以便理解问题并做出明智的决定。
定义问题defining the problem:通过准确地确定需要解决的问题,限定系统的范围。
需求收集requirement gathering:收集所有人对该软件应该做什么的意见。
需求规格说明requirement specification:编写一系列准确的结构定义该软件应当做什么。
2)设计:如何利用现有技术实现需求的过程。
系统工程:确定哪些需求用硬件实现,哪些需求由软件实现。(嵌入式和实时系统)
架构:即软件体系结构,决定如何将软件划分成子系统。
详细设计:确定构造每个子系统的详细内容。
用户界面设计:确定用户与系统交互的详细方式。
3)建模:创建表示领域或软件的过程。
用例建模use case modelling:表示软件用户执行的一系列活动。
结构化建模structural modelling:表示领域或软件中的类和对象。
动态和行为建模dynamic and behavioural modelling:表示系统可能出现的状态、可能执行的活动以及构件之间如何交互。
4)程序设计:目标之一:使之自动化。
5)质量保证Quality Assurance
评审Review与审查Inspection:讨论需求、设计或代码是否令人满意的正式会议。
测试Testing:系统地执行软件,看其行为是否与预期相符的过程。
确认Validation与验证Verification
6)部署Deployment:发布与安装软件。
7)过程管理
软件的项目管理使软件工程的组成部分。
8、困难与风险
(1)复杂性与大量的细节;
(2)技术的不确定性;
(3)需求的不确定性;
(4)软件工程技术的不确定性;
(5)持续的变化;
(6)软件设计退化:不断地修改软件所带来的错误会使软件退化;
(7)“政治”风险。
第二章 面向对象概述
太简单,跳过。
第三章 基于重用技术进行软件开发
重用resue是成功软件开发的一个关键。
框架framework技术促进了重用。
框架:可重用的软件子系统,实现了能被许多应用程序使用的重要功能。也即实现了一般问题的通用解决方案。
客户机-服务器体系结构(C-S)
1、重用类型:
(1)重用专家经验;
(2)重用标准的设计与算法;
(3)重用 |
| |
|
| 上一篇文章: 软件工程读书笔记 |
| 下一篇文章: 软件工程笔记 | |
|
|
|
 |
|
|
|