软件工程基础知识
软件需求就是系统必须完成的事,以及必须具备的品质。包括:功能需求、非功能需求、设计约束3方面
需求工程包括需求开发和需求管理两大工作。
需求开发包括需求捕获、需求分析、编写规格说明书、需求验证四个阶段
需求管理包括定义需求基线、处理需求变更、需求跟踪等方面
1
徐二毛的读书笔记
软件工程基础知识
2
徐二毛的读书笔记
业务需求
项目试图/范围文档
用户需求
质量属性
SRS
其它非功能需求
设计约束
系统需求
功能需求
用例
文档
软件工程基础知识
需求调查与问题定义
What
Where
How
需求捕获技术:
1、用户访谈(形式包括结构化【准备好问题】与非结构化【粗略想法】)
准备问题——》访谈技巧——》应该询问的问题
2、用户调查
3、现场观摩
4、文档考古
5、联合讨论会6-18人,1-5小时
需求捕获策略:迭代
3
徐二毛的读书笔记
软件工程基础知识
可行性研究工作的任务
技术可行性
经济可行性(投资回报率)
社会可行性(符合企业实际情况?符合员工利益?符合相关法规和行业规范)
可行性研究工作的步骤:
核实问题定义和目标
研究分析现有系统(旧的软件系统和旧的非计算机系统)
为新系统建模(建模的目的是为了获得一个对新的系统的框架性认识、概念性认识)
系统上下文关系范围图
实体-关系图
用例模型
域模型(OO思想)
IPO表(输入、处理、输出)
客户复核
4
徐二毛的读书笔记
软件工程基础知识
可行性研究工作的步骤:
提出并评价解决方案
确定最终推荐的解决方案(是否可行?什么地方最合理?)
成本效益分析有两个部分:
A、成本估算
准确估算工作量:历史数据和经验模型【功能点分析、O分析Constructive Cost Model,中文为构造性成本模型】
B、效益分析
草拟开发计划
以书面的形式提交《可行性分析报告》并进行审查
效益分析
货币时间价值
F=P(1+i)
F:代表未来货币价值
P:代表货币现在的价值
i:代表年利率
n:代表年数
投资回收期:多少年才能将投资回收
纯收入
投资回报率(ROI) Return On Investment
5
徐二毛的读书笔记
软件工程基础知识
投资回报率(ROI) Return On Investment
P=F1/(1+j)+F2/(1+j)+…+F /(1+j)
P代表总投资
n代表系统使用寿命
j就是投资回报率
F 是第i年年底收益
6
徐二毛的读书笔记
软件工程基础知识
需求建模
用图形表示需求就是需求建模,获得分析模型。有助于检测需求的不一致性、模糊性、错误及遗漏
需求分析方法
结构化分析方法(SA ,Structured Analysis)
软系统分析方法
面向对象分析方法(OOA)
面向问题域分析法(Problem Domain Oriented Analysis ,PDOA)
7
徐二毛的读书笔记
软件工程基础知识
结构化分析包括如下工具:
数据流图(DFD,Data Flow Diagram)
数据字典(DD)
结构化语言(SL)
判定表
判定树
如何做结构化分析需求工作:
研究“物质环境”
建立系统逻辑模型
划清人机界限
数据流图的五个基本元素
过程
实体
数据存储
数据流
实时连接
结构化分析的思路是依赖于数据流图进行自顶而下的分析。
课本P27页的图片有问题。
8
徐二毛的读书笔记
软件工程基础知识
数据流图事例:
9
徐二毛的读书笔记
Context图就是顶层数据流图,所以它的组成元素和数据流图一致。上下文关系范围图把需求的范围界定清洗,再通过数据流图进行细化分解,关注过程编号规则,关注输入输出的一致性,否则就会存在明显错误,且关注DFD0层图的意思,不是顶层,而是对顶层的分解。DFD0层图中不会出现0过程。
软件工程基础知识
决策表实例:
例:问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立判定表
10
徐二毛的读书笔记
解答:
①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。
②列出所有的条件茬和动作茬:
③填人条件项。(二进制的真值表)。
④填人动作桩和动作顶。这样便得到形如图的初始判定表。
读书笔记——软件工程基础知识 来自淘豆网m.daumloan.com转载请标明出处.