系统规划---成本效益分析
评价信息系统经济效益常用的方法主要有成本效益分析法,投入产出分析法和价值工程方法。盈亏平衡法常用于销售定价;
可行性分析
系统规划是信息系统生命周期的第一个阶段,其任务是对企业的环境、目标以及现有系统的状况进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性研究报告。可行性研究报告审议通过之后,将新系统建设方案以及实施计划编写成系统设计任务书。
软件工程---开发模型
常见的敏捷开发模型包括:
信息系统开发方法
结构化方法假定待开发的系统是一个结构化的系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统建设、系统实施、系统维护等阶段。这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型。对象模型描述了系统中对象的静态结构、对象之间的关系、属性和操作,主要是用对象图来实现;动态模型描述与时间和操作顺序有关的系统特征,例如,激发事件、事件序列、确定事件先后关系的状态等,主要用状态图来实现动态模型;功能模型描述了一个计算如何从输入值得到输出值,它不考虑计算的次序,主要使用DFD来实现功能模型。简单的说就是:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。
软件工程---信息系统开发方法
OO的应用构件在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务的方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。
SO方法有三个主要的抽象级别,分别是操作、服务和业务流程。位于最底层的操作代表单个逻辑单元的事务,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,他们都有特定的结构化接口,并且返回结构化的响应;位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已经编排的服务来响应业务事件。
开发模型:
抛弃式原型主要用于界面设计:
抛弃式原型基本思路就是开始就做一个简单的界面设计,用来让用户有直观的感受,从而可以提出需求,等需求获取到之后,可以把这个界面原型抛弃不用。
演化式原型会把原型保留,通过不断的演化,逐步形成最终的产品。
信息系统开发方法:
在需求不明确的情况下,采用结构化方法、瀑布式模型是有很大风险的。而形式化方法要求更高,要以数学建模为基础,如此一来,只有采用极限编程最为合适。极限编程是敏捷编程,强调小步快跑,会不断做小版本的发布,这样可以有效应对需求不明确的情况。
在众多的开发方法中,面向对象方法最早来源于仿真领域,其特点是系统的描述以及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人员的交流和沟通,缩短开发周期,提供系统开发的准确性和效率。面向服务的方法以粗粒度、松散耦合的系统功能为核心,强调系统的标准化和构件化,加强了系统的灵活性,可复用性和可演化性。
开发模型:
RUP的四个阶段的功能为:
信息系统生命周期:
系统规划是信息系统生命周期的第一个阶段,其任务是对企业的环境,目标以及现有系统的状况进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的备选方案。对这些方案进行可行性分析,写出可行性研究报告。可行性研究报告审议通过后,将新系统建设方案以及实施计划编写成系统设计任务书。
根据系统规划的主要任务,可以按照以下步骤开展系统规划工作:
开发模型:
螺旋模型,将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺旋线进行若干层的迭代,分为以下四个活动:
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的复用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下;
首先是确定一个阶段的目标,完成这些目标的选择方案以及约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在风险,有时需要通过建造原来来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并且设计下一个阶段。
开发模型:敏捷开发一共包括如下七种
ITIL信息技术基础架构库认为,服务管理是其最核心的模块,该模块包括服务提供和服务支持两个流程组
极限编程是一种重要的敏捷开发方法,包括策划、设计、编码和测试4个框架活动的规则和实践。极限编程中使用的重要技术是重构,即包括设计技术的重构,也包括构建技术的重构;极限编程提倡在基本设计完成之后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事(Story)的单元测试;极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码;极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略
螺旋模型是一种演进式的软件过程模型,结合了原型开发方法和瀑布模型的系统性和可控性特点。他有两个显著特点,一个是采用循环的方式逐步加深系统定义和实现的深度,同时降低风险;二是确定一系列的里程碑,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。