软件工程
、软件工程是指应用计算机科学、数学及管理科学等原理
以工程化的原则和
方法来解决软件问题的工程
其目的是提高软件生产率、提高软件质量、降低软
件成本。
IEEE
对软件工程的定义是
将系统的
规范的、可度量的工程化方法应用于
软件开发
运行和维护的全过程及上述方法的
究。
软件工程由方法
工具和过程三个部分组成
①软件工程方法是完成软件工程项目的技术手段
它支持整个软件生命周期
②软件工程使用的工具是人们在开发软件的活动中智力和体力的扩展与延伸
自动或半自动地支持软件的开发和管理
支持各种软件文档的生成
③软件工程中的过程贯穿于软件开发的各个环节
人员在软件工程过程中
要对软件开发的质量
进度和成本进行评估
和控制
包括人员组织
计划
跟踪与控制
成本估算
质量保证和配置管
等。
软件架构风格
软件架构研究的主要内容涉及软件架构描述
软件架构风格
软件架构评估
和软件架构的形式化方法等。解决好软件的复用、质量和维护问题
是研究软件
架构的根本目的。
软件架构设计的
个核心问题是能否达到架构级的软件复用。
软件架构分类
1)
数据流风格。数据流风格包括批处理序列和管道
过滤器两种风格。
调用
返回风格。调用
返回风格包括主程序/子程序
数据抽象和面向对象
以及层次结构。
独立构件风格。独立构件风格包括进程通信和事件驱动的系统。
虚拟机风格。虚拟机风格包括解释器和基于规则的系统。
仓库风格。仓库风格包括数据库系统
黑板系统和超文本系统。
软件架构评估
软件架构设计是软件开发过程中的关键一步。
在架构评估过程中
评估人员所关注的是系统的质量属性。
敏感点(
en
iti
it
Point
和权衡点(
ade
off
Point)
1)
敏感点是一个或多个构件(或之间的关系
的特性
权衡点是影响多个质量属性的特性
是多个质量属性的敏感点。
改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提
高安全性
但可能要耗费更多的处
理时
影响系统性能。如果某个机密消息的
处理有严格的时间延迟要求
则加密级别可能就会成为一个权衡点。
软件架构评估技术来看
可以归纳为三类主要的评估方式 分别是基于调查
问卷(或检查表)的方式
基于场景的方式和基于度量的方式。这三种评估方式
基于场景的评估方式最为常用。
基于场景的方式主要包括
架构权衡分析法(
ATA
软件架构分析法(
SAAM
成本效益分析法(
CBAM
在架构评估中
般采用刺激
环境和响应三方面来对场景进行描述。刺激
是场景中解释或描述项目干系人怎样引发与系统的交互部分
环境描述的是刺激
发生时的情况
响应是指系统是如何通过架构对刺激做出反应的。
需求分析
、软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
、根据
IEEE
的软件工程标准词汇表
软件需
求是
指用户解决问题或达到目标所
需的条件或能力
是系统或系统部件要满足合同、标准、规范或其他正式规定文
档所需具有的条件或能力
以及反映这些条件或能力的文档说明。