业务流程分析.docx
《业务流程分析.docx》由会员分享,可在线阅读,更多相关《业务流程分析.docx(18页珍藏版)》请在冰豆网上搜索。
业务流程分析
5.业务流程分析p83
流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系,明确每个业务
处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
业务流程分析的步骤可以总结如下:
(1)通过调查掌握基本情况。
(2)描述现有业务流程一绘制业务流程图。
(3)确认现有业务流程。
(4)对业务流程进行分析一知识和经验支持。
(5)发现问题提出解决方案。
(6)提出优化后的业务流程。
业砲网唯底*Kita聽将WF
.|~~——-
nt盹临甘站空那證向
12#师减科出聲号
6.业务流程再造(BusinessProcessReengineering,BPR)的概念
BPR是指对企业的业务流程进行根本的再思考和彻底的再设计,从而使企业的关键绩效指标,如成本、质量、服务、效率等,获得巨大的提高。
企业流程再造(BPR)应遵循以下原则:
•有一个明确的、具有启发性的目标,即共同远景。
•充分考虑顾客的价值。
•必须服从统一指挥。
•充分做好横向及纵向沟通。
•认识流程再造的两大要素一信息技术/信息系统和人员组织管理。
•树立典范、逐步推进,充分利用变革的涟漪效应。
流程再造方法一般有两大类:
全新设计法(CleanSheetApproach)和系统改造法(SystematicRedesign),前者遵循"推倒重来”的主张,从根本上抛弃旧流程,零起点设计新流程;后者继承逐步改善的思想即BPI的思想,辨析理解现有流程,在现有流程的基础上,
系统渐进地创造新流程。
7.数据流图DFDp87
结构化分析方法是一种面向数据流的软件分析方法,适合于开发一些数据处理类型的软件的
需求分析的方法。
采用数据流图的方式进行数据流程分析一般应遵循以下原则:
•明确系统边界。
•在总体上遵循自顶向下逐层分解的原则
•在局部上遵循由外向里的原则
步骤:
1.识别系统的输入和输出
2.绘制系统内部数据流
3.对复杂加工进行分解
4.对草图进行检查和合理布局
5.和用户交流
6.检查、修改、完善
注意事项:
1.数据流图上所有图形符号只限于4种基本图形元素
2.顶层数据流图必须包括4种基本元素,缺一不可
3.顶层数据流图上的数据流必须封闭在外部实体之间
4.每个加工至少有一个输入数据流和一个输出数据流。
一个加工的输出数据流只由它的输入数据流确定
5.数据流必须经过加工,即必须进入加工或从加工中流出
6.在数据流图中,需按层给加工编号。
编号表明改加工处在那一层,以及上下层的父图与子图的对应关系。
7.规定任何一个数据流子图必须与它上一层的一个加工对应,二者的输入数据流和输出数据流必须一致。
(子图和父图平衡)(考察重点)
8.可以在数据流图中加入物质流,帮助用户理解数据流图
9.图上每个元素都必须有名字
10.数据流图中不可夹带控制流
8数据字典p87
数据字典项目描述内容举例
1.数据元素
数据元素是最小的数据组成单位,也就是不可再分的数据单位
2.数据结构数据结构的描述重点是数据之间的组合关系,即说明这个数据结构包括哪些成分。
一个数据结构可以
包括若干个数据元素或(和)数据结构。
这些成分中有三种特殊情况:
•任选项:
这是可以出现也可以省略的项,用“[〕”表示,如[曾用名〕是任选项。
•必选项:
在两个或多个数据项中,必须出现其中的一个称为必选项。
“{}”。
•重复项:
即可以多次出现的数据项。
3.数据流
•数据流的来源。
•数据流的去处。
•数据流的组成。
•数据流的流通量。
•高峰时的流通量。
4.数据存储
5.外部实体
6.处理(加工)
(对)9.软件需求说明书(SRS)
软件需求说明书是需求分析阶段的成果,代表用户和开发人员对软件系统的共同的理解。
是软件项目后期开发和维护的基础。
软件需求说明书不仅是系统测试和用户文档的基础,也是所以子系统项目规划、编码、设计的基础。
在文档中需要把用户得功能需求和非功能需求进行详细的记录和准确的描述,包括数据流图和数据字典。
要尽可能的完整的描述系统预期的外部行为,和用户的可视化的行为。
除了设计和实现上的限制,不应该描述:
设计、构造、测试和工程管理上的细节问题、对算法的详细描述。
方式:
用好的结构化和自然语言编写文本型文档
建立图形化模型,这些模型可以描述转换过程、系统状态和它们之间的变化、数据关系、逻辑流或对象类和它们的关系。
编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求
系统设计
§1.总体结构设计
总体结构设计又叫概要设计、概要结构设计,p94
任务:
是将系统划分为模块,决定每个模块的功能,决定每个模块之间的调用关系,以及决定模块的界面。
模块是组成系统的基本单位,它的特点是可以组合、分解和更换。
一个模块应具备以下4
个要素:
•输入和输出•处理功能•内部数据•程序代码。
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他模
楚辑内聚
巧舍内聚
时间内聚
功能A聚厕序IA1聚卫信内股过程内呆
块接口是简单的。
模块独立性的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
罐合度:
低高1
性甬苏ff*
图出阴樸块(0内聚方式
顺序内聚有的文献叫信息内聚,一个模块各个单元使用的是同一个数据结构。
2耦合
耦合性由低到高
非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合模块独立性由强到弱
条件:
尽量使用数据耦合,少用控制耦合,限制使用公共耦合,完全不用内容耦合。
3.设计原则p93
1分解一一协调原则
2自顶向下的原则
3信息隐蔽、抽象的原则
4一致性原则。
5明确性原则。
6模块之间的藕合尽可能小,模块内部组合要尽可能紧凑。
7模块的扇入系数和扇出系数要合理。
8模块的规模适当
4.子系统划分的原则
•子系统要具有相对独立性
•子系统之间数据的依赖性尽量小
•子系统划分的结果应使数据冗余较小
•子系统的设置应考虑今后管理发展的需要
•子系统的划分应便于系统分阶段实现
•子系统的划分应考虑到各类资源的充分利用
5•子系统结构设计
过程中必须考虑以下几个问题:
•每个子系统如何划分成多个模块。
•如何确定子系统之间、模块之间传送的数据及其调用关系。
•如何评价并改进模块结构的质量。
•如何从数据流图导出模块结构图。
注意的问题:
。
模块具有较强的独立性,即内聚性强,耦合性弱
。
模块之间的连接只能存在上、下级之间的调用关系,不能有同级之间的横向关系
。
整个系统呈树状结构,不允许有网状结构或交叉调用关系出现。
所有模块都必须严格地分类编码并建立归档文件
模块结构图
一个系统的模块结构图一般有两种标准形式,变换型模块结构和事务型模块结构
§2详细设计
1代码设计
编码问题的关键在于分类。
在实际分类时必须遵循如下几点:
•必须保证有足够的容量,以包括规定范围内的所有对象。
•按属性系统化。
•分类要有一定的柔性,不至于在出现变更时破坏分类的结构。
•注意本分类系统与外系统、已有系统的协调。
常用的分类方法概括起来有两种,一种是线分类方法,一种是面分类方法
2.输出设计
•确定输出内容。
•选择输出设备与介质。
•确定输出格式
3输入设计
原则:
•最小量原则•简单性原则•早检验原则•少转换原则
内容:
•确定输入数据内容•输入方式设计•输入格式设计•校对方式设计
校对方式有人工校对,二次键入校对(同一批数据两次键入)和数据平衡校对。
4处理过程设计
5数据存储设计
6用户界面设计
7安全控制设计
§3软件测试p106
1.基本原则:
•应尽早并不断地进行测试
•测试工作应该避免由原开发软件的人或小组承担
•设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期输出结果
•在设计测试实例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。
•在测试程序时,不仅要检验程序是否做了该做的事,还要检测程序是否做了不该做的事•严格按照测试计划来进行,避免测试的随意性。
•妥善保存测试计划、测试例子,作为软件文档的组成部分,为维护提供方便。
2测试过程
(1)拟定测试计划
(2)编制测试大纲(3)根据测试大纲(4)实施测试。
(5)生成测试报告
3.测试方法
软件测试方法分人工测试和机器测试
人工测试:
人工测试指的是采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的经验表明,组织良好的人工测试可以发现程序中30%-70%的编码和逻
辑设计错误。
其内容包括检查代码和设计是否一致,检查代码逻辑表达是否正确和完整,检查代码结构是否合理等。
•个人复查•抽查•会审
机器测试机器测试分为黑盒测试和白盒测试两种。
①黑盒测试也称为功能测试。
进行黑盒测试主要是为了发现以下几类错误:
•是否有错误的功能或遗漏的功能?
•界面是否有误?
输入是否能够正确接收?
输出是否正确?
•是否有数据结构或外部数据库访问错误?
•性能是否能够接受?
•是否有初始化或终止性错误?
测试:
等价类划分边界值分析错误测试因果图②白盒测试也称为结构测试。
其原则是:
•程序模块中的所有独立路径至少执行一次。
•在所有的逻辑判断中,取“真”和取“假”的两种情况至少都能执行一次。
•每个循环都应在边界条件和一般条件下各执行一次。
•测试程序内部数据结构的有效性等。
测试:
(由弱到强)语句覆盖判断覆盖条件覆盖判断/条件覆盖组合条件覆盖路径覆盖3.测试步骤见笔记测试图
(1)单元测试。
单元测试也称为模块测试。
检查模块是否实现了详细设计说明书中规定的功能和算法。
发现
编程和详细设计中产生的错误。
单元测试计划应该在详细设计阶段制定。
单元测试主要从模块的以下五个特征进行检查:
模块接口;局部数据结构;重要的执行路径;出错处理;边界条件。
(2)组装测试。
组装测试也称为集成测试。
主要发现设计阶段产生的错误。
集成测试的计划应该在概要设计阶段制定或总体设计阶段制定。
集成方式:
非增殖式和增殖式增殖式:
自顶向下集成;自底向上集成;混合增殖式方式;衍变的自顶向下的增殖方式;自底向上-自顶向下的增殖方式
见图集成测试
(3)确认测试
确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一样。
系统方案说明书
描述了用户对软件的要求,所以是软件有效性验证的标准,也是确认测试的基础。
通常采用黑盒测试的方法。
•有效性测试
•软件配置审查
•验收测试测试:
开发者在现场进行指导测试:
在用户环境下测试
(4)系统测试系统测试是根据系统方案说明书来设计测试例子的,常见的系统测试主要有以下内容:
•恢复测试:
•安全性测试•强度测试•性能测试•可靠性测试•安装测试
4调试
•试探法•回溯法•对分查找法•归纳法•演绎法
§3软件的运行与维护(上午试题中比重较大)
1.软件维护
占生命周期的60%-80%(对)系统维护主要包括硬件设备的维护、应用软件的维护和数据的维护
(对)系统的可维护性的评价指标•可理解性•可测试性•可修改性
(对,比例和含义)软件维护的内容一般有以下几个方面:
•正确性维护(改正性维护)17%-21%
•适应性维护18%-25%
•完善性维护50%-60%
•预防性维护4%把今天的方法学用于昨天的系统,以满足明天的需要。
影响系统维护工作量的因素:
系统规模,程序设计语言,系统年龄,数据库技术的应用,先进的软件开发技术
2.程序修改
步骤:
分析和理解程序;
修改程序;代码副作用数据副作用文档副作用重新验证程序
3.再工程
(对)再工程是对现有软件系统的重新开发过程,包括逆向工程(反向工程)、新需求的考
虑(软件重构)和正向工程三个步骤。
再工程的基础是系统理解
4.软件重构
软件重构是对源代码、数据进行修改,使其易于修改和维护,以适应将来的变更。
(代码、
数据)
软件重构并不修改软件体系结构,而是关注模块的细节
5.逆向工程
(对)可以抽取出的信息(层次由低到高,完整性由高到低):
过程的设计表示;程序和数
据结构信息;数据和控制流模型;实体关系模型
6.系统评价(对)广义的信息系统评价分成立项评价、中期评价和结项评价。
系统评价的指标一、系统质量二、技术水平三、运行质量四、用户需求五、系统成本六、系统效益七、财务评价
7.运行管理
对于审计内容可以在3个层次上设定:
•语句审计•特权审计•对象审计
绝大多数信息系统的文档要在相应的信息系统淘汰3-5年后才能销毁。
8.文档管理
•文档管理的制度化。
•文档要标准化、规范化•文档管理的人员保证・维护文档的一致性•维持文档的可追踪性
§4构建与软件复用
1.软件复用(辅导242)
软件复用是使用已有的软件产品(如设计、代码、文档等)来开发新的软件系统的过程。
软件复用的形式大体可分为垂直式复用和水平式复用两种。
水平式复用是复用不同应用论域中的软件元素,例如数据结构、排序算法、人机界面构件等。
标准函数库是一种典型的、原始的水平式复用机制。
垂直式复用是在一类具有较多公共性的应用论域之间复用软件构件。
由于在两个截然不同的应用论域之间进行软件复用潜力不大,所以垂直式复用受到广泛关注。
垂直式复用活动的关键点在于论域分析:
根据应用论域的特征和相似性,预测软件构件的可复用性。
一旦根据论域分析确认了软件构件的可复用价值,即可进行软件构件的开发,并对具有可复用价值的软件构件进行一般化处理,使它们能够适应新的类似的应用论域。
然后将软件构件和它们的文档存入可复用构件库,成为可供未来开发项目使用的可复用资源。
软件复用的范围不仅涉及源程序代码。
项目计划、成本估计、体系结构、需求模型和规格说明、设计、源程序代码、用户文档和技术文档、用户界面、数据结构和测试用例。
两个组织:
REBOOT环境(基于软件技术的重用):
为复用开发和利用复用进行开发原则:
未来复用者的需求就是对可复用构件的信心,开发者的倾向是抵制复用推荐文档:
测试信息和复用者文档
STARS(可适应可靠的复用技术)关注过程、体系结构和复用三者的集成。
认为:
软件生产线开发的软件周期应该包括过程驱动、软件体系结构、领域工程、可复用构件库这4个概念。
2.软件复用过程
系统的软件复用由可复用资产的开发、管理、支持和复用4个过程组成
领域工程和应用系统工程
实施系统复用需要遵循的原则:
•需要顶层管理领导,并需要有长期回收的经费支持。
•为了渐进地推行系统的复用,需要规划和调节系统的体系结构、开发过程、组织结构,并以小规模的先行项目为典型示范,而后再铺开。
•为了复用,先规划体系结构及其逐步实施的过程。
•过渡到明确的复用组织机构,将可复用构件的创建工作与复用工作(即利用可复用构件开
发应用系统的工作)分离开,并且提供明确的支持职能。
•在真实的环境中,进行可复用构件的创建和改进工作。
•要将应用系统和可重用构件作为一个经济核算的产品整体进行管理,应当注重公用构件在
应用系统及其子系统领域中的高盈利作用。
•要认识到单独的对象技术或者单独的构件技术都是不够的。
•采用竞赛和更换负责人的办法,进行开发单位的文化建设和演变。
•对基础设施、复用教育、技巧培训,要投资和持续地改进。
•要采用度量方法测量复用过程,并要优化复用程序。
3.构件技术
可复用构件库的组织方式有枚举分类、关键词分类、多面分类、超文本组织法和可复用构件的3C模型。
软件构件的复用的步骤可分为检索与提取构件、理解与评价构件、修改构件和构件的合成。
其中构件的合成又分为基于功能的合成技术和基于数据的合成技术。
构件标准的三个主要流派:
OMG的CORBA、Microsoft的COM/DCOM和Sun的EJB/J2EE
构件系统应当为复用者提供简便灵活的使用“门面”(facade)
§5软件开发环境
软件开发环境应该包括工具集成、界面集成和方法集成
软件开发环境可由环境机制和工具集构成
按功能划分,环境机制又可分为环境信息库、过程控制和消息服务、用户界面规范。
软件开发环境具有集成性、开发性、可裁减性、数据格式一致性、风格统一的用户界面等特
性。
ICASE(集成的软件开发环境)信息库的功能:
数据完整性;信息共享;数据-工具集成;数据-数据集成;方法学实施;文档标准化
§6软件体系结构
1•软件体系结构(软件架构、软件构架)为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的
约束组成。
(元素==构件)
软件体系结构位于需求分析之后,软件设计之前。
软件体系结构也是项目干系人进行交流的手段,明确了软件系统实现的约束条件,决定了开
发和维护组织的组织结构。
软件体系结构对软件的质量起制约作用。
通过研究软件体系结构,就可以预测软件的质量。
2.软件体系结构建模
结构模型框架模型动态模型过程模型功能模型
4+1模型:
3.软件体系结构风格
1)分层系统
应用软件业务软件中间件系统软件应用最多的:
网络通信协议
2)客户/服务器
勿捱尼
数据叠录”奥新
/读取的请求
数据盘录/更新
/ii取的结果
裁据存取程序丿
功睚层
§7软件过程改进
1.CMM模型
描述和分析软件过程能力的发展程度,确定软件过程成熟程度的分级标准。
等级1一初始级关键过程域:
无等级2—可重复级关键过程域(KPI):
需求管理、软件项目计划、软件项目跟踪与监控、软件子合同管理、软件配置保证、软件质量保证
等级3—已定义级
关键过程域:
【管理】集成软件管理、组际协调、【组织】组织过程焦点、组织过程定义、培
训大纲、【工程】软件产品工程、同行专家评审
等级4—已定量管理级
关键过程域:
【管理】定量过程管理、【工程】软件质量管理
等级5—优化级
关键过程域:
【组织】技术变更管理、过程变更管理、【工程】缺陷预防
CMMI:
2001年发布,
5个分级:
CMM是作为评估标准出现的,所以要求的是必要的实践,这样才能保证评估的标准。
CMMI
是作为改进模型出现的,罗列了较多的最佳实践,以利于过程的改进。
2.PSP个体软件过程PersonalSoftwareProcess
可用于控制、管理和改进个人工作方式的自我持续改进的过程,是一个包括软件开发表格、
指南和开发规程的框架。
PSP能够说明个体软件过程的原则;帮助软件工程师作出准确的
计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;
确定过程的改变对软件工程师能力的影响。
个体逓环过程PSP3
CyclePersonalProcess
PSP3
循味开我
个体质量営遅仕程PSP2
PersonalQuality
PSP2
PSP21
说讣横板
f谁计谭审
Mana^ein^ntProces-
3.TSP团队软件过程(TeamSoftwareProcess,简称TSP)
管理仍然是开发软件项目成败的关键。
迄今为止,学术界和产业界公认CMM是当前最
好的软件过程,但应着重指出的是:
单纯实施能力成熟度模型CMM,永远不能真正做到能
力成熟度的升级,而需要将实施CMM与实施PSP和实施TSP有机地结合起来,才能达到
软件过程持续改善的效果实施需具备的条件
首先需要有高层主管和各级管理人员的支持,以取得必要的资源,这是实施TSP必须
具备的物质基础;软件过程的改善需要全体有关人员的积极参与,他们不仅需要有改革的热
情和明确的目标,而且需要对当前过程有很好的了解;任何过程改革都有一定的风险,都有
一个实践、改革、评审直至完善的循环往复、持续改善的过程,不可能一蹴而就;项目组的开发人员需要经过PSP的培训,使之具备自我改善的能力;整个开发单位的能力成熟度在总体上应处于CMM二级以上。
4.CMM/PSP/TSP三者的关系
»rsrvisr
炉跑陝
"%
it才芟更菖理
W1
F£F
过程吏更tr理
PSF
P定■的过程昔理
FSP
轶特屍量莒基
|FSP
¥£¥
FSF
垢训犬搐
无
賽呢轼啊1理
欧件产品工程
PSP
TSP
同行臀嘉评审
FSP
:
_i
:
救件顼目规划
PSP
软件瑾目朋和监隹
PSf
软样W合砖应
TSP
聯件K59S
TSF
5•软件过程评估标准
标准号为ISO/IEC15504,名称为软件过程评估(softwareprocessassessment,SPA)
软件过程评估标准包含9个部分:
部分1:
概念和引导指南(参考件);部分2:
过程和过程能力的参考模型(标准件)部分3:
进行评估(标准件)部分4•进行评估的指南(参考件)部分5:
评估模型和指示器指导(参考件)部分6:
评估人员资格指南(参考件)部分7:
过程改进指南(参考件)部分8:
供应者过程能力评定指南(参考件)部分9:
词汇表(标准件)
见表8.5(p193)
1
巳管理的过程
工ft产品営豐1
充分
3
癖朋%tmra
工阵产品営理逍n庭玄和戟旦过那5塚
奄分
充分
大■分威充分
4
f¥l&M工作严塩覆毎文和戳却
VTSMI垃程控曲
JEH充分充分死分充分
5
忧化过程
建1!
性就性老皆理工祚严品首理垃IS足XWttK
HWlfl
述楼挂對sin
持叢改谥
尧甘
死分
3E9
充井
大畛逾帝丹大■分護充分
NPLF
•过程评估环境
过程改进环境
过程能力评定环境
与CMMI.1有一些重要差别
•参考模型与CMM不同,它明确给出过程维,其中所包括的过程都必须实施,否则,就表明未按良好的软件工程开展基本活动,也就谈不上有什么软件过程能力,所以在这种情况下
软件过程能力是零级;仅当实施了过程维的各个过程,才能通过过程能力维的过程属性,分析评定软件过程能力等级。
而CMM则没有定义类似过程维的过程。
•ISO/IECT815504所确定的评估对象是过程维的各个过程,给出这些过程的能力等级;而
CMM1.1的应用对象是项目或组织,而不是过程,给出一个项目或一个组织的整体软件过程成熟度等级。
•软件过程评估标准有一个明确意图,就是作为ISO9000族标准的一个支持标准,因此,其内容与ISO9000标准相互协调;而CMM1.1没有这些考虑。
•软件过程评估标准,特别是其第二部分,直接对准ISO/IEC12207-1995K信息技