版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1-1信息系统概述了解什么是信息系统理解信息系统组成结构了解信息系统类型了解各类信息系统应用场景与技术特点理解各类信息系统之间的关系【本节学习目标】一、什么是信息系统?信息系统是一种能够完成对业务数据进行采集、转换、加工、计算、分析、传输、维护等信息处理,并能就某个方面问题给用户提供信息服务的计算机应用系统。二、信息系统组成信息化基础设施(服务器、计算机网络、系统软件等)应用软件数据库系统业务数据用户三、信息系统类型1.业务处理系统业务处理系统(TransactionProcessSystem,TPS)是一类运用IT技术对机构业务活动(如订购、销售、支付、出货、核算等)进行信息处理,实现业务处理自动化与提高业务处理效率的信息系统。商业终端销售系统银行借记业务系统航空机票订票系统酒店系统…业务处理系统逻辑结构业务处理系统案例2.管理信息系统管理信息系统(ManageInformationSystem,MIS)是一类以机构信息管理为主导,利用计算机软硬件、网络通信、数据库等IT技术,对机构职能进行整体信息化管理,以达到提高机构工作效率和服务价值,并支持机构职能与运营管理的信息系统。人力资源管理信息系统企业CRM系统企业ERP系统学籍管理信息系统…管理系统层次人力资源管理系统3.决策支持系统证券分析与辅助决策信息系统法定传染病疫情预测信息系统电信营销大数据分析系统铁路区域地质灾害预警系统…决策支持系统(decisionsupportsystem,简称DSS)是一类辅助决策者通过数据分析、模型评估和知识推理等信息处理,以人机交互方式,为解决特定策略问题提供决策支持的信息系统。决策支持系统的概念结构4.专家系统专家系统(ExpertSystem,ES)是一种具有获取、存储与利用专家智慧解决某类问题的信息系统。它一般是采用人工智能中的知识表示、知识推理、深度学习等技术来模拟通常由领域专家才能解决的复杂问题。典型专家系统应用:AlphaGo围棋机器人蛋白质鉴定专家系统城市建设规划与设计专家系统蔬菜病虫害诊断专家系统…..专家系统概念结构5.办公自动化系统政务办公系统高校办公系统企业办公系统…办公自动化系统(OfficeAutomation,OA)是一种实现办公业务流程信息化、自动化处理的信息系统。6.知识工作支持系统工程制图系统影像非线性编辑系统CASE(计算机辅助软件工程)工具…知识工作支持系统(KnowledgeWorkSystem,KWS)是一种具有强大的数据、图形、图像以及多媒体处理能力,能够在网络化条件下广泛应用多方面信息和技术资源,并为知识工作者提供设计创造、技术创新等服务工具的信息系统。AutoCAD工程制图系统TPSMISDDSESOAKWS四、各类信息系统之间关系本节学习结束!1.1-2信息系统概述了解信息系统利益相关者视角了解信息系统用户了解信息系统开发者了解各类系统开发者职责与能力要求了解开发者、用户、客户之间的关系【本节学习目标】一、信息系统参与者视角二、信息系统用户分类业务人员主管、经理和总经理1.系统内部用户客户供应商合作伙伴2.系统外部用户三、信息系统开发人员1.系统设计人员系统架构师
软件工程师界面工程师
数据库管理员3.系统管理人员2.系统构造人员
软件程序员硬件工程师
网络工程师
系统集成工程师项目经理系统分析师测试经理
客户经理四、系统分析师系统分析师是指对机构业务进行调查与分析,利用信息系统分析技术解决业务问题定义与系统需求规格描述的专业人员。1.主要工作程序研究与理解领域问题确定解决问题的系统需求制定一套问题解决方案详细说明所选方案的细节推荐最佳解决方案指导实施解决方案监控结果是否达到要求2.系统分析师位置3.系统分析师主要职责负责信息系统的需求调研、需求分析、需求管理,并完成《系统需求规格说明书》。负责将信息系统进行业务需求建模、系统需求建模,并将建模成果转化到《系统需求规格说明书》。协助架构设计师进行系统架构设计,并指导其完成《系统架构说明书》。协助数据库工程师进行数据库逻辑设计和物理设计,并指导其完成《数据库设计说明书》。协助软件工程师进行系统详细设计,并指导其完成《系统详细设计说明书》。指导程序员按《系统详细设计说明书》进行代码实现。协助项目经理进行配置管理,并提供优化改进建议。协助测试经理完成对系统测试,并进行系统实现的需求确认。信息系统知识与技能——掌握计算机领域主流的软硬件开发技术、信息系统规划、系统分析与设计、大型数据库系统、IT基础平台知识与技能。
业务知识与技能——熟悉行业组织机构、组织职能、业务功能、业务流程、业务活动、业务信息等。
分析与解决问题技能——辩证思维、推理逻辑、分析能力、灵活性、适应力。
人际知识与技能——沟通技巧、团队协作、人员管理、项目管理等。人格与道德规范——健康人格、职业与工程伦理道德。4.系统分析师应具备的专业技能与素质1.项目经理主要职责项目计划:负责项目的总体规划与阶段计划;确定项目范围、质量、时间、成本。项目组织:组织项目所需的各项资源;设置项目组中的各种角色,并分配好各角色的责任与权限;定制项目组内外的沟通计划;处理项目组成员之间的关系。项目领导:创建项目组的开发环境及氛围,提升项目组士气,加强项目组凝聚力;合理安排项目组各成员的工作,使各成员工作都能达到一定的饱满度;定期组织项目组成员进行相关培训。项目控制:保证项目在预算成本范围内按规定的质量和进度达到项目目标;在项目生命周期的各个阶段,跟踪、检查项目组成员的工作质量;对项目进行配置管理与规划;控制项目组各成员的工作进度。五、其他IT人员职责要求2.系统架构师主要职责系统架构师是系统项目的总体设计师,IT系统新产品的开发与集成、新技术体系的构建者。在需求阶段,系统架构师负责理解和管理非功能性系统需求,协助系统分析师完成《用户需求说明书》、《需求变更说明书》。在设计阶段,架构师负责对整个系统架构、关键构件、接口的设计,完成《系统概要设计说明书》。协助软件工程师完成子系统或模块设计。在编码阶段,架构师则成为程序员的顾问,并且经常性地举行一些技术研讨会、技术培训班等,培养编程人员。在测试及实施阶段,协助开发人员完成系统测试、集成和交付。3.软件工程师主要职责根据《系统概要设计说明书》编写分模块的《系统详细设计说明书》。协助系统架构师完成系统概要设计,并负责系统功能模块的软件设计与实现。协助程序员按《系统详细设计说明书》进行代码实现。控制本模块的开发进度。4.界面工程师主要职责负责完成项目系统功能界面设计,并为软件工程师提供界面指导。负责对项目系统软件整体色彩的调配。向项目经理提供项目软件美化包装的建议。5.数据库管理员主要职责根据《系统架构说明书》与系统架构师、系统分析师一同进行数据库建模。根据数据库建模结果,创建数据库LDM与PDM图。根据数据库PDM图进行数据库、表、索引、存储过程、触发器等对象创建。对数据库进行维护、优化、权限、备份、恢复、同步等管理。对数据库进行初始化操作,负责客户数据的导入导出。协助软件工程师完成《系统详细设计说明书》中与数据库相关的部分。根据《系统详细设计说明书》编写对应的视图、存储过程、函数、触发器等。对项目组其它成员进行SQL方面的指导。为测试经理及测试工程师建立测试数据。6.测试经理主要职责按照项目经理制定的系统质量计划要求,编写系统测试计划和系统测试方案。负责测试团队内部的工作,完成项目系统测试,并协调与开发团队之间的接口工作。协助SQA对软件过程和软件产品进行质量控制。负责测试过程工具的研究、推广与维护,负责测试用例库维护工作。7.测试工程师主要职责在测试经理的安排和指导下,编写测试用例,并按测试用例进行测试工作。在测试经理的指导下,按测试计划进行系统测试工作。负责被分派测试项目任务的质量审计。8.实施经理主要职责负责制定项目实施计划。在项目实施计划的约束下,协调项目组相关资源,完成系统实施相关工作(包括系统安装、用户培训、系统上线、系统试运行等)。在项目实施阶段,跟踪、检查实施人员的工作进展。负责协助用户进行“用户验收测试”和编写《验收测试报告》。9.产品经理主要职责对所负责推广的软件产品进行策划和管理。对所负责的产品进行市场调研和分析,及时提出应对措施。负责产品实现的内部管理,保证产品功能的顺利实现以及时满足市场需求。负责产品对外宣传与推广,开拓市场,提高产品品牌知名度和认可度。配合销售部门制订产品销售策略,支持市场销售业务。10.客户经理主要职责策划并独立完成目标客户的拜访和沟通。定期分析、整理客户需求,制定有针对性的方案。进行重点客户的关系维护,了解并整理重点客户的需求,为开发更符合用户需求的产品提供富有价值的市场信息。参与产品定位的研讨,为产品策划献计献策。六、项目相关者的配合项目相关者之间的配合十分重要,若不配合,均将导致信息系统开发项目失败。导致信息系统项目失败的主要因素:客户需求被误解或没有完全捕获客户需求改变过于频繁客户没有为项目提供足够的资源客户怀有不切合实际的期望客户不想与开发者合作开发者不胜任项目开发开发团队项目管理混乱开发团队协作不好开发团队与用户沟通不畅本节学习结束!1.2信息系统软件特性了解软件系统类型理解软件特性理解软件质量属性【本节学习目标】一、软件系统类型系统软件支撑软件(中间件)应用软件软件系统类型二、软件系统其它分类定制软件系统通用软件产品开发方式分类授权许可分类共享软件自由软件产品软件公共软件免费软件开源软件三、软件特性软件是逻辑代码组成的程序集合,非有形物体。软件不会损耗,但会因失去价值被弃用。软件是开发人员通过脑力劳动开发出来的,还不能做到生产线制造。软件还未完全实现标准化构件组装系统。复杂性——随应用领域、规模、业务不同,软件复杂性差别较大。一致性——软件都要求与其运行的软硬件平台兼容一致。可变性——因业务过程与需求不断变化,应用软件需具有可变性(如软件版本升级)才能保持软件长久的生命力。四、软件开发需解决的本质问题五、软件质量属性功能性(Functionability):是指软件所实现的功能可达到它所设计规范和满足用户需求的程度。可靠性(Reliability):是指在规定的时间和条件下,软件所能维持其正常的功能操作、性能水平的程度。易用性(Usability):是指用户学习、操作、使用软件所需努力的程度。效率(Efficiency):是指软件系统的处理效能,如处理时间、资源使用率。可移植性(Transportability):是指软件从一个计算机系统环境移植到另一计算机环境的容易程度。软件质量属性:可维护性(ServiceManageability):是指当一个软件投入运行后,若需求发生变化、环境发生改变或软件发生错误时,进行修改所做努力的程度。兼容性(Compability):是指软件之间或是软件与硬件之间的相互协调工作的程度。可扩展性(Extensibility):是指软件增加新功能、扩充系统能力的难易程度。本节学习结束!1.3信息系统开发过程了解信息系统生命周期了解信息系统开发活动了解信息系统开发过程【本节学习目标】信息系统生命周期是指从提出系统研制的构想开始,经历系统规划、系统开发、系统运行与维护,到系统终止的时间过程。一、信息系统生命周期1.系统规划阶段二、信息系统生命周期各阶段主要活动2.系统需求分析阶段明确问题提出解决方案与建设计划可行性分析启动项目需求规格说明定义需求原型验证划分优先级信息采集3.系统设计阶段网络环境设计构件设计用户界面与系统接口设计安全机制设计数据库设计程序流程设计系统设计系统架构设计4.系统构造阶段系统构造软件部署程序编写系统集成
设备安装开发环境搭建5.系统测试阶段6.系统运行与维护阶段维护系统系统运行支持用户进化系统以工程项目方式来管理信息系统开发过程、支持过程、组织过程、运行过程等流程活动,才能确保在规定的时间内完成满足质量要求的信息系统开发任务。三、系统项目过程系统开发过程框架是指在系统开发过程中,组织活动与任务的公共过程框架及流程模式。四、系统开发过程框架本节学习结束!1.4系统开发过程模型了解瀑布开发过程模型了解原型开发过程模型了解螺旋开发过程模型了解统一软件开发过程模型了解敏捷软件开发过程模型【本节学习目标】系统开发活动严格按生命周期阶段线性顺序开展,并在每个阶段都会创建和提交大量文档。一、瀑布开发过程模型模型特点:系统开发过程活动组织简单,项目阶段划分明确,具有完整的开发文档支持,便于项目管理。需要大量的文档工作和审查工作,通常会影响系统项目的进度,分散开发人员精力。用户经过较长周期才能见到信息系统的雏形,对系统项目的反馈迟缓,这会带来项目风险。在系统开发初期,通常难以获得用户的完整需求,这会导致瀑布开发过程难以开展。应用场景:瀑布开发过程模型作为一种经典的系统开发过程模型,适合于需求十分明确、规模较小的系统项目。为解决需求变更的快速响应问题,在系统开发中可采用原型开发过程模型来解决瀑布开发过程模型的局限。二、原型开发过程模型模型特点:能够开发出真正满足用户需求的信息系统,能够较快地提交系统的功能版本给用户使用。
需求变更能够很快在系统开发中得到反馈。系统项目开发难以标记进展的里程碑、项目管理较复杂。若系统体系结构设计不健壮,多次迭代会使系统稳定性受到挑战。原型开发过程模型还需要具有系统快速开发能力的工具支持。应用场景:原型开发过程模型适合于需要较多人机交互界面的系统项目,也适合那些需求初期不太明确的系统项目。螺旋式开发模型是一种进化迭代的系统开发过程模型,它兼顾了原型开发过程的迭代特征和瀑布开发过程的系统化与严格审核优点。三、螺旋式开发过程模型模型特点:引入了其他模型不具备的风险分析,使系统在无法排除重大风险时有机会停止,以减小项目损失。在系统开发活动由内向外沿着螺线进行若干次迭代,每次迭代都将获得系统的一个开发版本,直到获得完全满足用户需求的版本才成为最终系统。应用场景:螺旋式开发模型适合于大型复杂的系统开发,强调了其他模型所忽视的风险分析。统一软件开发过程(RationalUnifiedProcess,RUP)是一种用例驱动的、增量迭代的、以体系架构为中心的系统开发流程框架。四、统一软件开发过程模型模型特点:面向对象、用例驱动、以架构为中心开发系统。增量迭代开发,以质量控制和风险管理为目标。与UML配套、可定制流程框架。应用场景:统一软件开发过程模型综合了以前的多种系统开发过程模型的优点,全面考虑了系统开发的技术因素和管理因素,适合于大型复杂系统开发。敏捷软件开发(Agilesoftwaredevelopment)是一种精简的、快速的、增量迭代的系统开发过程模型。五、敏捷软件开发过程模型模型特点:提出一种轻量级开发过程模型方法,强调编程人员与业务专家之间的紧密协作、面对面的沟通、适应需求变化的代码编写。注重系统开发过程中人的作用、最小化文档编写,快速发布系统版本功能,并能够处理不断变化的用户需求。解决传统重量级开发过程模型在中小型系统项目中存在成本高、周期长、难以适应快速需求变更等局限。应用场景:敏捷开发模式注重系统快速开发,且适用于解决早期需求模糊或需求变更频繁的系统开发项目。本节学习结束!1.5系统开发方法与工具了解系统开发策略了解系统开发方法了解系统开发工具了解系统开发运行环境【本节学习目标】一、系统开发类型1.定制开发与产品开发定制开发是指针对特定用户应用需求,对软件系统进行个性化开发,并将该系统交付给用户使用。产品开发是将开发的软件作为产品推广到市场。2.集成开发集成开发是指基于现有系统或特定系统接口,对新软件系统与外部系统进行整合开发。面向门户集成面向数据集成面向接口集成面向过程集成集成开发类型:二、系统开发策略1.自行开发利用机构自身IT人员开发实现信息系统的开发方法。优缺点:可以得到满足自身需求的信息系统,并且通过系统开发培养自己的团队。组织专业规范的系统开发和实施严格的质量保证较困难,通常需要外部咨询和技术培训。所开发的系统可能存在通用性、稳定性、完整性的局限。2.委托开发委托专业IT公司针对本机构业务需求定制开发信息系统的开发方法。优缺点:能够利用专业IT公司的技术优势和信息化经验,以较低的成本建立获得高质量的信息系统。
机构自身可以节省人力资源,可专心于业务优化改进,将精力集中到具有较高价值回报的活动中。需要配备精通业务的分析人员,与开发团队进行大量的交流、沟通
依赖于专业IT公司的技术支持,后期系统维护较困难。3.购买商品软件通过购买商品化软件包,并在此基本上实现信息系统的开发方法。优缺点:客户省时省力,短时间就可建立信息系统,效果可以立竿见影。
购买到完全符合机构自身需求的系统不容易。
受限于现有软件局限,难以满足业务需求变化。4.联合开发机构与专业IT公司联合开发信息系统的开发方法。优缺点:充分发挥客户团队和开发团队的优势,有利于自身技术力量的培养。依赖于双方精诚团结,自身需要有一定的系统分析与设计能力。三、软件系统开发方法1.结构化方法结构化方法是面向过程的软件开发方法,由结构化分析方法、结构化设计方法和结构化程序设计方法组成。结构化方法典型技术:数据流图、数据字典、层次结构图设计、E-R关系图设计、程序流程图设计、伪代码设计、结构化编程等。其基本思想如下:自顶向下逐步求精系统模块分解以过程为中心构建软件系统结构化方法优缺点:简单实用、技术成熟、容易应用。但对规模较大及处理复杂的软件系统项目不太适合,存在难以适应需求变更,难以解决软件复用,难以进行软件维护,难以提高软件生产效率等问题。当前软件开发现状:现在的软件系统项目大多具有功能复杂、规模较大、异构平台、快速交付、可维护性和可靠性要求高等特性。结构化方法不能适应这些要求。需有新的软件开发方法去应对。2.面向对象软件开发方法面向对象基本思想:客观世界是由各种对象(Object)组成,复杂对象可以由简单对象组成。
类(Class)是具有相同特征对象的模板,将对象的属性数据和操作程序封装在一起。对象之间通过消息(Message)传递实现行为交互,以模拟现实世界中不同事物之间的联系。面向对象方法是一种将面向对象思想应用于软件开发过程、指导软件开发活动的方法。面向对象分析面向对象设计面向对象编程面向对象方法优缺点:与人的思维方式一致稳定性好可重用性好可维护性好掌握面向对象技术方法需要更多的时间面向对象方法适合的软件项目类型:面向对象方法适合需求变更较频繁、功能复杂、规模较大、异构平台、快速交付、可维护性和可靠性要求高的软件系统项目。3.基于构件软件开发方法基于构件软件开发方法是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的开发方法。从业务功能视角出发,采用比面向对象方法更高一级的抽象技术设计实现软件,更切合实际应用,软件重用度可以得到提高。将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低软件开发的费用。优缺点:构件开发使得软件重用度、开发效率得到提高,确保软件质量。软件构件开发与编程语言紧密联系,容易导致构件接口标准不统一,不同开发语言实现的构件难以实现互操作。4.面向服务的系统开发方法基于面向服务思想,采用松耦合、粗粒度软件功能重用的系统开发方法。面向服务的系统开发方法关注点是业务,它直接映射到业务,强调IT与业务的对齐,以服务为核心元素来封装业务功能或已有应用系统。
服务的粒度更大,更加匹配机构信息化应用中的业务,可以实现更高级别的软件重用。优缺点:可以实现跨平台的功能复用,也可复用现有应用系统。开发技术复杂,需要解决较多的分布式应用难点技术问题。四、系统开发工具与环境1.开发工具按照开发过程分类:项目管理工具配置管理工具分析和设计工具程序开发工具系统测试工具系统维护工具2.开发运行环境系统开发环境是指在计算机硬件和系统软件平台上,进行信息系统开发及维护所使用的软件工具及集成环境。系统运行环境是指信息系统运行所依赖的平台环境,包括操作系统软件、数据库软件、运行时软件等软件环境,以及服务器、网络设备、存储设备等硬件支持环境。本节学习结束!2.1面向对象基础理解面向对象的思想理解面向对象的需求分析理解面向对象的系统设计理解面向对象的编程语言理解几个面向对象思想应用间的联系与区别
【本节学习目标】一、面向对象思想对象对象(Object)的含义是物体(个体),就是物理世界中的实体一、面向对象思想对象属性描述了对象的特定信息人的可见物理属性性别=男年龄=30肤色=黄色身高=172cm体重=74kg人的不可见社会属性姓名=张三民族=汉族国别=中国学历=本科籍贯=四川桌子的属性高度=120cm宽度=150cm颜色=白色材料=实木样式=办公桌一、面向对象思想对象行为指定对象可以做什么,定义了对象执行的操作。对象人有很多行为吃饭睡觉走路干活哭对象桌子的行为?提供高度修改高度修改颜色计算体积明显的行为设计的行为一、面向对象思想类类是一组具有相同属性与行为的对象集合,物以类聚。类是抽象,对象是具体。类是集合,对象是集合中的个体。类的属性可以没有值,对象的属性必须分配值。例子:人是一个类,这个类包含了无数具体的人,每个人是一个对象。一、面向对象思想对象(类)之间的关系三个人对象:苏洵、苏轼、苏辙三个对象属于同一个类苏洵与苏轼的关系是父子苏洵与苏辙的关系是父子苏轼与苏辙的关系是兄弟三个对象:张三、数据结构课、主楼301三个对象属于不同类张三与数据结构的关系是选课与被选张三与主楼301的关系是上课地点分配数据结构与主楼301的关系是上课地点分配一、面向对象思想对象(类)之间的关系关联-两个类以某种方式相关或连接,例如一个类与另一个类协同工作以执行任务,或者一个类对另一个类执行操作。如张三选择数据结构课。聚合-表示整体与其部分之间的关系。如螺丝对象是桌子对象的一部分。泛化-子类基于父类。它表明这两个类是相似的,但子类包含了比父类更多的信息(属性)。如本科生是学生的子类。一、面向对象思想抽象抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。二进制编码是一种高级抽象,将所有信息都抽象为由0和1组成的序列。《道德经中》:“道生一,一生二,二生三,三生万物”对象是具体,类是抽象一、面向对象思想抽象抽象是分层次的。二进制(高级)十六进制(低级)人(高级)男人/女人(低级)电子产品(高级)电脑/手机(低级)一、面向对象思想封装封装是将对象的属性与行为都包装起来,形成一个独立的单元,这体现了对象的独立性和边界性。电脑这种对象内部有很多属性,比如CPU的型号与主频、内存的大小、显示器的型号与尺寸等,这些属性对其他对象应该是不可见的,需要通过特定的行为方法才访问。
严格的信息隐藏会引起访问效率问题,解决方法是可见性。一、面向对象思想多态性多态性是指对象具有多种不同形式的能力。在多态操作中,不同类别的对象可以执行不同的操作。它允许我们通过只知道不同类的公共属性来操纵不同类的对象。二、面向对象的需求分析概念:应用面向对象的思想与技术去描述目标软件系统的需求明确目标系统有哪些利益相关者
老师、学生、员工、经理每个利益相关者要通过系统干什么
教学、选课、质检、制定计划系统有哪些对象
组织、设备、任务、单据、报表、货物对象之间的关系是什么
继承、关联、聚合内容二、面向对象的需求分析概念:应用面向对象的思想与技术去描述目标软件系统的需求利益相关者类(对象)类(对象)关系功能利益相关者与功能关系对象之间的交互与活动活动图时序图静态视图动态视图+二、面向对象的需求分析应用面向对象的思想与技术去描述目标软件系统的需求面向对象的分析与开发技术与平台无关需求分析人员与业务人员之间的进行沟通的过程与结果清楚、准确地描述软件系统的需求是面向对象分析的任务特征三、面向对象的系统设计概念:面向对象设计是针对系统的一组具体实现技术要求,继续应用面向对象的思想与建模方法进行系统设计对面向对象分析的输出结果进行细化与适应性修改以最大程度继承面向对象分析的成果。描述系统架构、人机界面、业务处理类、数据存储模型、系统部署架构、系统进程与线程等。从宏观角度描述系统的整体结构,确定系统是一个层次结构还是一个流式结构等。如:常用的MVC(模型-视图-控制器)三层结构是一种典型的层次结构。类似于在建造一栋住宅楼的时候,需要确定是采用板式结构还是采用塔式结构。对架构设计的构件以及构件之间的关系进行细化。一个构件包含了多个相互作用的类,详细设计的任务是要把这些类描述出来,当然也包括类之间的关系。架构设计详细设计三、面向对象的系统设计四、面向对象的编程C++与Java就是两种应用最广泛的面向对象编程语言,这两种语言的设计遵循了面向对象思想,都是以类为基本构成单元。面向对象设计输出的类与C++与Java中的类具有一致性,前者的类名也对应后者的类名、前者的类属性对应后者的成员变量、前者的类行为(操作)对应后者的操作。面向对象体系本节学习结束!2.2UML建模语言了解UML可视化建模语言了解UML2.5各种图的基本元素与作用【本节学习目标】一、UML简介统一建模语言UML(UnifiedModelingLanguage)是一种对软件系统进行规范化、可视化、模型化、文档化的标准语言。UML由对象管理组织OMG创建,并在1997年1月份起草了UML1.0规范。UML是一种面向对象的建模语言,使用多种不同的建模图形来表达系统。2017年12月,OMG发布了UML2.5.1规范,修正了UML2.5的一些小问题,是目前UML的最新版本。UML2.5规范定义了两种主要的UML图:结构图和行为图。一、UML简介二、用例图二、用例图银行账户存取钱管理的用例图示例三、活动图三、活动图银行账号验证功能的活动图示例图已重画,MOOC视频替换四、类图四、类图银行存取钱管理相关的简单类图示例五、顺序图五、顺序图银行账户验证功能的顺序图示例六、通信图六、通信图银行账户验证功能的通信图示例七、状态图七、状态图银行账户的状态机图示例符号元素名称元素描述构件具有业务功能和接口的类集合接口只定义操作,不定义操作实现的类关联/实现关系表示两个构件之间有关联关系或接口与构件之间的实现关系依赖关系两个构件之间依赖与被依赖的关系八、构件图图已重画,MOOC视频替换八、构件图银行账户存取钱管理的构件图示例九、部署图符号元素名称元素描述节点具有业务功能和接口的类集合端口节点的访问端口,附在节点图形的边框上人工制品物理部分规约,可以是模型、描述或软件关联关系表示两个节点之间有关联关系依赖关系两个构件之间依赖与被依赖的关系九、部署图图已重画,MOOC视频替换九、部署图银行账户存取钱管理的部署图示例十、包图十、包图银行账户存取钱管理的包图示例本节学习结束!2.3BPMN建模语言了解BPMN建模语言的作用了解BPMN的基本元素与作用BPMN的应用案例【本节学习目标】一、BPMN简介BPMN(BusinessProcessModelandNotation,业务流程建模与标注)是BPMI(TheBusinessProcessManagementInitiative)符号工作组于2004年5月开发的业务流程建模标准,BPMN2.0版本于2010发布,目前是OMG维护的公共标准BPMN为企业提供以图形符号理解其内部业务流程的能力,并使企业能够以标准方式交流这些流程。图形符号有助于理解组织之间业务协同的效果,确保企业可充分了解自身与合作伙伴,并使企业能够快速适应内部环境和B2B业务的变化。一、BPMN简介BPMN已经成为业务流程建模的事实标准,它由设计人员、管理人员和业务流程实现人员共同使用,为业务流程设计和实现之间搭建了一个标准桥梁。BPMN的另一个目标是确保基于XML的业务流程执行语言(如WSBPEL,WebServicesBusinessProcessExecutionLanguage)可以使用业务表示符号进行可视化,这要求BPMN要足够精确,以便将BPMN图转换为软件流程组件。一、BPMN简介BPMN提供了5种基本的建模元素:流对象流数据泳道人工制品二、流对象活动(Activity):是在流程中执行的任何工作事件(Event):在业务流程中发生的任何事情网关(Gateway):用于控制流程的流程流对象是BPMN的核心元素,又分为3类流对象二、流对象
活动二、流对象
事件二、流对象③网关三、流流(Flow)用于连接流对象,与流对象一起定义业务流程的过程。四、数据数据(Data)是表示业务流程中的数据表示,具体又分为数据对象、数据对象集、数据输入和数据输出等五、人工制品人工制品(Artifact)用以给流程附加一些额外的信息,不影响流程的流转六、泳道不同泳池之间通过连接对象进行关联。一个泳池可以有多个泳道。泳池(Pool)标识一个过程中的业务实体(参与者),为了说明不同功能与职责,通过泳池将活动进行形象化分类。七、BPMN案例硬件零售商的运输流程七、BPMN案例订单履行与采购流程本节学习结束!3.1系统规划概述了解什么是系统规划理解系统规划意义了解系统规划目标与任务了解系统规划内容了解系统规划步骤【本节学习目标】一、什么是系统规划?系统规划是指组织机构在进行信息化建设前,对组织机构的战略目标、机遇与挑战、经营现状、信息化需求等因素进行调研与分析,为支撑组织机构未来发展提供信息系统建设方案与计划。二、系统规划意义信息系统规划是机构信息化建设的基本纲领和总体指向,也是信息系统工程项目实施的前提与依据。若系统规划不当,可能会给机构带来巨大的损失。三、系统规划目标系统规划目标是针对组织机构的使命、战略目标、经营现状、发展机会与面临挑战等因素进行综合分析,对组织机构信息化建设做出可行的信息系统方案。四、系统规划任务1)根据组织机构使命及其战略目标,制定信息系统建设总体目标与愿景;2)针对组织机构信息化需求,确定信息系统总体框架、技术路线与实施方案;3)在充分考虑组织机构的技术、设备和人力资源等因素下,制定组织机构的信息系统实施建设计划,并分析评估信息系统建设方案可行性。五、信息系统规划内容确立组织机构信息化发展战略与构想
制定信息系统建设总体目标组织机构信息化面临的挑战、机遇和需求组织机构的技术、设备和人力资源调整方案组织机构的信息系统总体框架与结构组织机构的信息系统总体技术路线与方案组织机构的信息系统实施初步计划
信息系统建设项目预算、成本/效益估算、风险评估案例:企业信息系统规划内容六、系统规划步骤本节学习结束!3.2系统规划方法了解业务系统规划法了解业务流程重组法了解价值链分析法了解战略目标集转移法了解关键成功因素法【本节学习目标】一、业务系统规划法业务系统规划法(BusinessSystemPlanning,BSP)是IBM公司在20世纪70年代提出的一种制定信息系统规划方法。该方法认为信息系统是为组织机构目标服务的,它应该满足组织机构各个管理层次的信息化要求,并向组织机构提供一致的、全面的、可靠的、有价值的信息服务。信息系统必须支持组织机构战略目标系统规划应该表达出组织机构各个管理层次的信息化需求信息系统应为各部门提供一致的数据信息信息系统应适应机构管理体制的变化“自上而下”分析与“自下而上”设计相结合1.BSP方法应用原则2.BSP方法实施步骤3.BSP方法优缺点BSP方法作为一种经典的的系统规划方法被广泛应用,它能保证信息系统独立于组织机构的管理体制,即使将来组织的机构部门或管理体制发生变化,信息系统体系架构也不会受到太大的冲击。不过BSP方法进行系统规划,通常需要进行大量工作活动、花费大量时间,才能有效地完成系统规划工作。二、业务流程重组法业务流程重组法(BusinessProcessReengineering,BPR)是由美国企业管理专家在20世纪90年代初期提出的一种围绕业务流程改造的系统规划方法。它强调以业务流程为改造对象中心、以关心客户的需求和满意度为目标,对现有业务流程进行不断地优化或重新设计。以客户服务为中心,优化业务流程。跨部门业务流程重组优化。以过程管理代替职能管理,取消不增值的管理环节。取消不必要的信息处理环节,消除冗余信息集。1.BPR方法应用原则2.BPR方法实施步骤3.BPR方法优缺点BPR方法可以解决机构内部纵向条块独立管理所带来的局限,有利于机构改进业务流程的工作效率,提高机构在质量、服务、成本等方面的竞争力。不过BPR方法若没有考虑机构实际情况,完全打破机构现有业务流程,存在较大的风险,遭遇多方面的阻力,最终可能会导致项目失败。三、价值链分析法价值链分析法(ValueChainAnalysis,VCA)是由美国哈佛商学院教授Porter提出来的一种寻求确定企业竞争优势的方法。通过分析企业中完整的业务活动链,从原料到生产、从市场到售后服务各环节活动来评估企业的竞争力。通过信息技术手段对关键业务环节的改进提供支持,可发挥信息技术的使能作用、杠杆作用和乘数效应,从而增强企业的竞争能力。1.VCA方法应用企业基本业务包括内部物流、产品生产、外部物流、产品销售、售后服务等环节。利用IT技术针对这些业务环节提供支持,促进它们对产品或服务产生更多价值。支持内部物流服务的仓储系统支持生产运行服务的计算机制造系统支持外部物流服务的配送与调度系统支持销售和市场服务的订购与发票系统支持售后服务的产品质保维护系统2.VCA方法实施步骤3.VCA方法优缺点VCA方法有利于企业运用价值链分析方法来确定自身价值链环节,使企业特别关注和培养在价值链环节上的核心竞争力,并利用IT技术支撑企业在行业内的竞争优势。不过VCA方法应用涉及面较复杂,不但需要充分了解内部业务活动价值,还需要掌握企业外部业务活动价值影响因素,才能有效地完成系统规划工作。VCA方法主要局限在企业信息系统规划中应用。四、战略目标集转移法战略目标集转移法(StrategySetTransformation,SST)是WilliamKing在1978年提出一种将组织机构战略目标集(使命、目标、战略等)转变为信息系统战略目标的规划方法。1.SST方法应用信息系统是为组织机构战略目标服务的,所以制定信息系统战略目标必须以组织机构战略目标为依据。根据组织机构战略目标确定信息系统目标。对应组织机构战略集的支撑因素识别相应信息系统战略约束。最后根据信息系统目标和约束提出信息系统战略。2.SST方法实施步骤3.SST方法优缺点SST方法能保证系统规划得到全面的信息系统目标。但它局限在策略层面进行规划,缺少业务流程规划。五、关键成功因素法关键成功因素法(KeySuccessFactors,KSF)是哈佛大学教授WilliamZani于1970年提出的以关键因素为依据来确定系统信息需求的规划方法。1.KSF方法应用管理者可以根据机构目标确定关键成功因素,制定描述相应关键成功因素的关键KPI指标。根据关键KPI指标评价管理工作成效,从而形成一个以机构目标为设定值,以调控行为成效为检测结果的反馈控制系统。管理者就可以借助信息系统观测关键KPI指标而得知关键成功因素的状态,再通过关键成功因素状态调控来控制子目标的实现,进而促成机构目标的最终实现。2.KSF方法实施步骤3.KSF方法优缺点KSF具有很强的针对性,能够明确提出支撑组织机构战略目标的IT解决方案。一些组织机构战略目标在一定时期后会有一定的调整,其目标的关键成功因素会出现变化,因此,需重新确定信息系统目标方案。本节学习结束!3.3系统项目计划了解项目计划内容掌握项目任务分解方法掌握项目进度安排方法掌握项目成本估算方法【本节学习目标】一、什么是项目计划项目计划是根据信息系统建设目标要求,对信息系统建设所涉及项目任务进行总体工作安排。计划阶段任务项目工作分解活动排序资源、工期、成本估算计划阶段输出网络图/甘特图进度计划/资源计划成本计划/风险计划质量计划/实施计划计划阶段技术方法活动排序:前导图方法工期估算:三点估算法、专家判断法成本估算:自下而上法、专家判断法、类比估算法、参数成本法进度计划:甘特图、里程碑图、关键路径法二、项目计划的要素三、项目工作分解工作分解结构(WorkBreakdownStructure,WBS)是将项目工作按照交付成果方式,定义项目的详细任务过程。WBS是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。按产品的物理结构分解;按产品或系统的功能分解;按照项目实施过程分解;按照项目的地域分布分解;按照项目的各个目标分解;按项目系统应用的职能部门分解。1.WBS分解方式例办公软件系统项目WBS任务分解2.WBS在项目计划中作用可以直观地、明确地说明项目任务范围;方便项目经理进行人员任务分工,并规定这些人员的相应职责;有助于对各任务活动的工期时间、资源用量、开销成本进行估算;为项目计划、成本预算、质量控制、风险管理奠定共同基础。四、项目活动排序排序方法:按照工作的客观规律排序按照项目目标的要求排序按照轻重缓急排序根据项目本身的内在关系来排序ABDC结束
开始E前导图五、项目工期估算为了制定项目进度计划和估算成本,首先需要对项目各个任务活动工期进行估算。项目工期则由各个任务活动工期按照关键路径计算得到。1.三点估计法项目经理或系统分析人员根据历史数据经验对某类任务活动的工期完成时间分别给出乐观时间(记为a)、悲观时间(记为b)和正常时间(记为m)。采用如下经验公式计算得到任务活动工期E。E=(a+4m+b)/6例
某软件功能模块在正常情况下需要7天时间完成编程。若由一个具有丰富编程经验的程序员进行编程实现,需要6天时间完成。但由一个经验不足的程序员编程这个模块可能需要14天时间才能完成。请问该功能模块的工期该如何估算?按照“三点估计法”计算公式,可估算得到该模块的编程工期为:E=(6+4*7+14)/6=8天2.德尔菲法德尔菲法用于项目任务活动工期估算的步骤如下:1)组织者发给每位专家一份项目任务活动规格说明和记录表格,请专家估算每个活动的工期;2)每位专家针对每个活动分别给出工期的最短值ai、最可能值mi、最长值bi;3)组织者按照如下估算法公式,计算每位专家估算工期的加权平均值Ei;
Ei=(ai+4*mi+bi)/6
然后,再将所有专家的工期估算平均值按照如下公式计算期望值:E=(E1+……+En)/n4)组织者汇总各位专家估算值与期望值的偏差,形成图表对比,再分发给各位专家,让专家比较自己同他人的不同意见,修改自己的意见和判断;5)重复多次,最终获得一个多数人认可的项目任务活动工期估算值。例某公司准备研发一个新技术产品,需要估算该项目任务的工期。组织者邀请了三位专家独自对该任务工期(天数)进行估算。经过三轮调查反馈,形成下表所示的估算数据。按照德尔菲法估算方法,经过三轮反馈数据的统计处理,可以确定该任务工期为74天。项目费用直接费用间接费用人工费材料费设备费分包合同费施工管理费公司管理费预备费涨价预备费基本预备费六、项目成本估算与预算项目成本估算是指完成项目工作所需要的费用估计,它是项目计划中的一个重要组成部分。1.项目成本估算类比估算法——利用历史信息和专家判断对项目成本进行估算。自底向上估算方法——根据工作分解结构的最小任务活动市场成本,计算出当前项目成本。德尔菲法——由多个领域专家或有经验项目经理分别对项目成本进行估计,并最后达成一致而获得最终的项目成本。2.项目成本估算方法3.项目成本预算项目成本预算是指将项目成本估算结果在各具体的任务活动上进行经费分配的过程,目的是确定项目各活动的成本定额,并确定项目意外开支准备金的标准和使用规则以及为后期项目成本控制管理提供标准和依据。4.项目成本估算与预算区别项目成本估算一般用于项目立项,估算每项任务成本,从而估算出项目总体费用。项目预算则用于项目计划,它是将项目成本总经费在各具体活动上再进行更精确的分配,以便后期作为项目成本控制管理的基准。七、项目进度安排项目进度安排是根据项目任务活动分解、任务活动顺序、各任务活动估计时间和所需资源分析,制订出项目起止日期和任务活动开展时间的工作安排。网络总和最长的一条路径称为关键路径,它决定了完成该项目的工期。关键路径上的每一项任务都是关键任务。这些任务的完成时间一旦有延迟,就会影响项目的完成时间。甘特图——ERP系统规划项目进度安排例一个ERP系统规划项目分解了9个任务,可以采用甘特图技术方法对项目任务进度作出安排。PERT图——ERP系统规划项目进度安排例针对这个ERP系统规划项目还可采用PERT图技术对项目任务进度作出安排。八、项目管理Project实践——ERP系统规划项目进度安排本节学习结束!3.4项目可行性研究理解技术可行性分析理解进度可行性分析理解经济可行性分析理解社会可行性分析掌握可行性报告方法【本节学习目标】一、什么是可行性研究可行性研究是指在系统项目实施前通过采用一定的技术和准则,从技术、进度、社会等方面对项目的必要性、可行性、合理性,以及项目经费投资与收益等要素进行分析和评估,得出系统规划的建设方案是否可行的评估结论。技术可行性进度可行性社会可行性经济可行性项目方案可行性二、技术可行性分析技术可行性分析是指评估项目解决方案所采用技术方案的可行性和合理性。评价技术可行性需回答下面问题:系统规划所选用的技术路线及其方案是否具有可行性与合理性?组织机构或开发公司是否拥有系统解决方案所需技术?组织机构或开发公司是否拥有所需的技术专家?三、进度可行性分析进度可行性分析是针对系统规划所提出的信息系统建设时间约束条件,分析评估系统建设计划时间长度的合理性和可行性。评价进度可行性需回答下面问题:目标系统可以在用户接受的时间段内完成吗?项目进度安排是否合理?四、经济可行性分析经济可行性分析是根据项目建设所需开销的经费与信息系统投入运行后所产生的经济效益,进行初步的投资回报率分析。经济可行性需回答下面问题:从项目成本角度考虑,有足够预算支持该系统建设吗?项目成本有哪些?投资收益合理吗?五、社会可行性分析社会可行性分析是根据国家政策、法律、安全、伦理道德等社会因素,分析评估信息系统建设的可行性和合规性。此外,社会可行性分析也评估信息系统建设的可操作性。社会可行性分析需回答下面问题:系统规划所建设信息系统与投入运行是否符合国家政策与法律?信息系统使用是否可以确保组织机构的信息安全与用户隐私保护?信息系统使用是否遵从工程伦理道德规范?信息系统是否可以在用户实际业务处理中方便的、有效的解决领域问题?信息系统是否可以提高用户工作效率、提升产品质量或服务质量?信息系统是否可以在组织机构不同部门广泛应用和行业推广?六、可行性分析报告可行性研究报告是在信息系统建设方案及其项目计划的可行性研究基础上,对信息系统建设可行性分析进行总结,给出可行性研究结论,为组织机构决策者提供科学依据,并作为进一步开展工作的基础。案例:“物流仓储项目”可行性研究报告本节学习结束!4.1需求采集理解研究现有文档与系统的作用了解8种典型的现有文档与系统的类型【本节学习目标】一、研究现有文档与系统在开发目标软件系统之前,一个组织(公司、企业、政府等)一定会有一些单据和报表等,如订货单、发货单、设备运行日志、生产日报、生产周报以及销售报表等,这些资料或者以纸质形式存在,或者以软件系统的界面与数据库形式存在,或者两者均有。这些文档与系统资料真实反映了组织业务过程中数据表现与流转的机制一、研究现有文档与系统①组织结构图组织结构图提供了系统相关的关键岗位与角色,并能反映他们之间的关系。一、研究现有文档与系统②组织的规划与宏观决策相关文档组织的使命与任务陈述、组织的战略规划文档、年度/季度/月度销售计划、年度/季度/月度生产计划、年度/季度/月度财务预算等。一、研究现有文档与系统③工作规范文档管理上的各种制度与规范,如客服服务流程规范文件、财务报销规定、采购规定、设备入库管理规定、出差补贴规定等。一、研究现有文档与系统
不同业务方向有不同的业务单据,比如进销存业务有采购申请单、进货单、发货单、到货单、到货检验单、销售订单。一、研究现有文档与系统
不同业务方向也有不同的报告,如采购周报、库存月报、销售日报、销售月报、生产日报、生产月报、应收帐月报等。一、研究现有文档与系统
这些文档包括办公室之间往来的函件、研究报告、建议单、客户反映问题的记录单等。一、研究现有文档与系统
这些专业知识与组织从事的领域相关,比如一个化工企业相关的专业知识是化学工程,一个银行相关的专业知识是存贷、理财产品、投行等。一、研究现有文档与系统
现有系统的相关分析内容包括系统相关的流程图、设计文档、程序文档、用户使用手册、界面、数据库表等。现有业务有什么问题以及可能的原因?组织中什么岗位对问题有所理解?要开发的系统对解决问题有什么帮助?有什么还不太清楚,需要通过其他需求采集方法进一步了解?除了解组织现有业务的现状外,系统分析员应该进一步思考一下问题:一、研究现有文档与系统本节学习结束!4.1-2需求采集了解与客户及相关人员进行面谈了解调查表法了解观察法【本节学习目标】二、与客户及相关人员进行面谈概念:面谈是指需求调查分析人员与客户及项目相关人员进行面对面的谈话。目的:面谈是了解被访谈对象的业务以及对系统的期望、看法与意见。访谈对象的多样性:客户:周期、预算、质量要求、预期收益用户:功能需求、非功能需求领域专家:领域知识客户的上下游合作伙伴:对系统的合作期望二、与客户及相关人员进行面谈面谈有两种基本形式:正式面谈和非正式面谈。正式面谈需要提前预约,有特定的参与对象。需求调查人员需要提前准备要面谈的问题,有些问题有预设答案,供被面谈对象进行选择与确认,有的是开放式的,无法提前准备可选答案。非正式面谈是正式面谈的补充,时间、地点、形式都不确定,更像非正式会议,没有预设的问题与目的由于轻松的面谈环境,被访谈对象更可能说出自己真实的想法,或提及调查人员没有想到的问题和事实正式面谈非正式面谈1)
请问公司(部门)的组织结构是怎样的?2)
您能描述一下您的岗位职责有哪些吗?3)
请问是收货过程是先计量、质检然后再开收货单吗?4)
借款的审批流程是怎么样的,不同额度是不是有不同审批流程?5)
生产日报中产量的单位是什么?6)
目前对客户关系的维护与管理有哪些?7)
有没有业务相关的资料(包括表格、表单、文档、报表等)可以提供?8)
目前工作中您觉得存在什么样的问题?9)
对现在的信息系统您满意吗?希望在哪些方面进行改进?10)您对整个系统的期望定位是什么?11)对我们将要开发的系统您有什么建议或期望?典型访谈问题需要提前预约,由于每个岗位平时都在忙于处理自己的业务,面谈时间可能不一定能及时安排,且面谈后需要整理,并尽量得到被面谈者的书面确认,这也需要一定时间周期,导致过程的延长。通过面对面的谈话与聊天,能比较深入地了解被面谈者对问题的看法与回答,并能够根据被面谈者的回答动态地调整面谈内容,或者更深入地了解面谈问题。优点:缺点:二、与客户及相关人员进行面谈调查表是通过向被调查者发放预先设计的调查表格,要求被调查者填写后限时返回,然后整理分析的一种需求调查方法。对于那些目标清晰、类型熟悉、业务相对简单的项目,调查表是一种有效与低成本的需求采集方法。当需要调查很多人的观点而他们又不在同一个地方的时候,调查表显得很经济实用。三、调查表法调查表是通过向被调查者发放预先设计的调查表格,要求被调查者填写后限时返回,然后整理分析的一种需求调查方法。对于那些目标清晰、类型熟悉、业务相对简单的项目,调查表是一种有效与低成本的需求采集方法。当需要调查很多人的观点而他们又不在同一个地方的时候,调查表显得很经济实用。三、调查表法三、调查表法单选/多选问题。被调查者需要从提供的备选答案中选择一个或多个答案;评价问题。一类特殊的单选问题,表达被调查者对问题的态度或观点,如“强烈同意、同意、中立、不同意、强烈不同意、不知道”;排序问题。对所提供的备选答案按优先级排序,可以是序号、百分比等排序方式。判断问题。被调查者对问题打勾或打叉。调查表表现为一系列问题,分两种问题:封闭式问题(有备选答案)、开放式问题(没有备选答案)。传统方法主要是纸质文档,人手工填写,效率低、成本高,难以异地。新型渠道方法形式:网页、H5页面传播渠道:电子邮件、即时通信软件、社交网络系统三、调查表法观察法是观察目标系统相关的业务流程或某个岗位的业务活动,是一种了解业务过程与相关知识的技术。四、观察法旁观式观察。只观察某个特定的业务活动而不打扰或干预业务活动,在条件允许的情况下,可以拍摄业务活动,便于后续进行回放分析;解释式观察。这种观察比非干扰式观察更进一步,不仅系统分析员可以观察,而且还能得到业务人员的解释,说明其所做业务的要素与关键点;参与式观察。业务分析员参与到所观察的业务活动中,成为团队的一份子,承担一部分业务功能,这样能更深入地体验与了解目标活动或业务。参与式观察式三种观察中最深入的一种。四、观察法观察时间的多样性针对同一个业务或岗位,应该选择不同的时间、地点与人物进行观察,比如在早上九点、上午十点半、下午三点、下午五点等一天中的不同时间进行观察,或选择节假日与普通日子进行观察。观察地点的多样性同一个岗位在不同地方可能有差异性,如同一个银行的柜台业务在不同支行可能也有差别。观察人员的多样性同一个岗位的不同人甚至也可能存在业务差异。本节学习结束!4.1-3需求采集了解头脑风暴法了解原型法了解快速应用开发法【本节学习目标】五、头脑风暴法概念:头脑风暴是一群人围绕一个特定主题进行自由思考与讨论以产生新观点的方法。应用场景:如果在需求的多个利益相关者对于具体的需求不能达成一致意见,可以采用头脑风暴的方法进行探讨。优点:拘束的规则,人们就能够更自由地思考对一个观点共同讨论高强度的思想碰撞五、头脑风暴法头脑风暴会议要求:有特定讨论主题有主持人参与人数以8人~15人为宜会议有限时间,如1~2小时不消极旁观不要私下议论开门见山,不要客套相互尊重,平等相待,不相互褒贬五、头脑风暴法需求分析中一些典型的头脑风暴问题:系统应当支持什么特性?系统的输入和输出数据是什么?在业务或领域对象模型中需要什么类?在面谈或调查表中需要提出什么问题?系统应不应该支持分布式部署?项目中的主要风险是什么?系统与哪些其他系统有接口关系?六、原型法概念:原型法是通过构造一个软件原型对待开发的系统进行可视化模拟,从而获得用户对需求反馈的方法。原型法是一种比较现代且广泛采用的需求采集与确定方法。原型本质上是一个演示系统,软件系统原型通过图形用户界面GUI进行可视化,并且对各种用户事件(如鼠标单击、双击、右键等)做出模拟响应。在图形用户界面上的内容是固定的,不是真正的基于事件的响应,也不是从服务器动态获取的。六、原型法适用场景:当用户无法准确描述需求的时候,原型法是一种非常有效的需求引导与采集方法。原型需求采集法是基于原型的软件工程过程模型的一部分,以原型为媒介,不仅让需求分析员与用户之间对需求的理解保持一致性,而且对项目难点、工作量的评估也起到了重要支撑作用。不适用场景:对那些难以通过界面模拟、存在大量运算和逻辑性强的系统六、原型法丢弃型原型。当需求引导与采集完成后,原型被丢弃。这类原型主要用于体现最模糊和最难理解的需求。进化型原型。在需求引导与采集完成后,原型仍然被保留用于后续的系统设计与开发。它从一个或多个基本需求出发,通过修改和追加的过程逐渐丰富,演化成为最终的系统,有效支持快速发布与迭代产品,有些原型制作工具甚至能够直接输出代码,后续开发可以直接实用。根据原型的后续使用价值,区分为两类原型:六、原型法Axure是一种流行的快速原型设计工具,让负责定义需求和规格、设计功能和界面的需求分析人员能够快速创建应用软件、Web网站和移动应用程序的界面图、流程图、原型和规格说明文档,并同时支持多人协作设计和版本控制管理。七、快速应用开发快速应用开发(RapidApplicationDevelopment,RAD)由计算机顾问和作家JamesMartin于1991年提出,是一种试图快速生成系统的结构化开发方法,也是一种需求抽取方法。让用户更主动地参与到项目分析、设计和构造活动中;将项目开发组织成一系列重点突出的研讨会,研讨会要让项目投资方、用户、系统分析员、系统设计人员和开发人员一同参与;通过一种迭代的构造方法加速需求分析和设计阶段;让用户提前看到一个可工作的系统。RAD融合了进化型原型法和头脑风暴方法,其基本思想为:七、快速应用开发进化原型CASE(计算机辅助软件工程)工具拥有能使用先进工具的专门人员交互式联合应用开发活动(头脑风暴)项目进度表RAD组合了5个方面的技术:七、快速应用开发RAD需要足够的人力资源,并投入相当的精力;开发人员和客户必须在很短的时间内完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败;RAD不适合技术风险很高的情况。当一个新应用要采用很多新技术或当新软件要求与已有的计算机程序的高互操作性时,这种情况就会发生;可能产生难以维护与扩展的软件;文档不足。RAD模型的不足:本节学习结束!4.2-1需求可视化建模-业务流程建模了解用BPMN进行普通流程建模了解用BPMN进行合作流程建模了解用BPMN进行编排流程建模【本节学习目标】业务流程建模基于BPMN建模语言,区分三种业务流程:普通流程(Process)合作流程(CollaborationProcess)编排流程(ChoreographyProcess或Choreography)组合利用这三种类型的业务流程,可以表达更为复杂的业务流程一、普通流程建模私有业务流程
属于某个特定组织内部的流程,这些流程被称为工作流或业务流程。不可执行的私有业务流程:用于业务流程描述与文档化的流程,不要求此流程可以自动执行。可执行的私有业务流程:可以根据语义定义而自动执行的流程,如WebService流程。公开业务流程
表达了一个私有业务流程与其他流程或参与者之间的交互。一个私有流程必须限制在一个泳道之内不可执行的私有流程公开业务流程公开业务流程表达了一个私有业务流程与其他流程或参与者之间的交互。公开业务流程仅包含了那些参与交互通信的活动以及这些活动之间的次序,而不显示其它非交互的活动。因此,公开活动给外部世界显示交互的消息以及消息之间的次序。二、合作流程建模合作指组织中两个参与者在业务流程中的合作。一个合作流程通常包含两个或更多泳池,每个泳池关联到一个合作中的参与者对象。两个泳池之间通过消息流表示两个相应参与者之间交换的消息。二、合作流程建模如果泳池中显示了流程的细节与过程,则两个泳池之间的消息流应该直接连接到流程活动上。二、合作流程建模在合作流程中,可以用对话来表示一组具有顺序逻辑关联的交互消息。(1)泳池间对话(2)泳池间对话展开为多条交互消息三、编排流程建模编排流程也是描述多个参与者之间的交互,但编排流程取消掉了池的概念,由编排活动直接表现多个参与者之间的消息交互,提供了一种基于流程图的视图。由于编排图和合作图比较类似,区分编排图与区别的要点是编排图省略掉了交互的细节(编排活动中各个参与者具体的交互过程),它只关心谁和谁产生了交互,至于如何交互,分几步交互,它并不关心。三、编排流程建模合作图编排图使用visual-paradigm在线画BPMN流程示意本节学习结束!4.2-2需求可视化建模-用例图建模了解用例图的构成元素掌握参与者、用例、参与者与用例之间的关系、用例之间的关系含义与画法掌握用例规约描述方法【本节学习目标】用例图建模用例图(UserCaseDiagram)从系统使用者的角度所理解的系统总体功能参与者(Actor)用例(UseCase)关系(Relationship)参与者(Actor)在系统外部与系统直接交互的人或事物(如系统、进程)1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。2.参与者作为外部用户(而不是内部)与系统发生交互作用典型的三类参与者人:在组织中,人可能会有一个或多个角色,一个角色又通常与一个岗位对应,每个岗位有一定职责。外部系统:一般来讲,待开发的目标系统不会是孤立的,它可能与其他系统发生数据交互、业务流程交互以及接口访问等关系。无论这些系统是已经存在的、正在开发的或者待开发的,均可以作为待开发系统的参与者。设备:主要指硬件设备,比如传感器、摄像头和车辆等具有一定数据处理功能的物理设备。这些设备可能为系统提供数据,也可能接收来自系统的数据并进行存储,还可能接收系统的数据进行处理后反馈给系统。系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用例(UseCase)用例发现用例的方法(1)从参与者角度参与者是系统功能分析首先确定的对象,每一个参与者都与系统有交互。根据参与者的职责要求,参与者应该在目标系统中完成什么任务?参与者任务是由什么事件触发的,详细过程是什么?结束条件是什么?一个任务需要多个参与者配合吗?如果需要,具体如何配合?参与者需要完成的多个任务如何进行拆解与合并,以映射到不同的系统功能。发现用例的方法(2)从系统功能角度需求采集文档描述了若干系统应该实现的功能,详细审查每一个功能描述,检查这个功能描述是否被从参与者角度发现的用例所覆盖。有些功能容易被忽略,比如系统的定时数据备份,这个功能是系统自动执行的,没有明显的参与者与这个功能关联,可是作为一个独立的任务它应该作为一个用例对待。参与者与用例之间的关联关系表示参与者与用例之间的交互参与者使用这个用例功能带箭头(无箭头)的实线表示用例与用例之间的关系①包含关系一个用例的功能包含在另一个用例中
箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例
包含用例必须被执行,不需要满足某种条件包含用例的执行不会改变基用例的行为<include>基用例包含用例<include>用例与用例之间的关系②扩展关系一个用例的功能扩展了另一个用例的功能
箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例
扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性
扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为<extend>基用例扩展用例<extend>用例之间的包含关系与扩展关系有时候并不一定只有一种表达方式,比如登录系统这个功能一般作为一个独立用例,它与系统中的业务功能用例之间的关系既可以写成包含关系,又可以写成扩展关系。
多参与者情况下用包含表达业务功能用例与登录用例之间的关系多参与者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景区内部员工管理制度
- 机关内部人员调动制度
- 机关内部建设制度
- 机关内部运行工作制度
- 机关财务内部审核制度
- 机构内部运行管理制度
- 西华大学《流体机械设计(II)》2024-2025学年第二学期期末试卷
- 某医院内部审计制度
- 检察院内部工作管理制度
- 检验科内部会议制度
- 2025年虚拟电厂合作合同协议
- 基层派出所警务沟通技巧与案例分享
- 灭火器安全操作规程
- 办公室突发火灾应急演练方案
- 2026年湖南高速铁路职业技术学院单招职业倾向性测试题库附答案
- 《压缩空气储能电站工程概(估)算费用标准》
- 完整版叙事护理
- 医院技术咨询合同范本
- 医疗器械销售年度总结汇报
- T-CITS 273-2025 化工产品热安全检测实验室认可技术规范
- 供货期承诺及保证措施
评论
0/150
提交评论