一、诺兰模型
二、开发mis的基本条件
一个组织要开发信息系统必须对自己有—个清醒的认识,检查组织是否具备以下基本的必要条件:
- 有科学的管理基础。组织中所应用的管理理论与方法与组织的实际结合;组织有合理的管理体制和科学的管理方法、完善的规章制度、管理工作标准化、稳定的作业秩序、完整准确的原始数据。
- 领导的重视和员工的积极参与。领导最熟悉清楚自己面临的问题,最能合理地确定系统目标,拥有实现自己目标的人、财、物的调配权,能够决定投资、调整机构,确定应用程度等。员工是信息系统建设不可缺少的力量,他们的业务水平、工作习惯对新系统的积极性直接影响效果。
- 有—支高水平的专业技术队伍。
- 有较雄厚的物资基础。系统需要设备设施建设,开发费用,运行维护费用
三、开发方式
- 用户自行开发
用户具有开发系统的基本必要条件,且技术力量比较雄厚,可以采取自行开发的方式。这种开发方式的优点是开发人员熟悉业务处理过程,沟通交流容易,但是,开发人员应专心从事开发工作,不受原来从事工作的影响,也应克服组织中各方面的干扰因素。 - 委托开发。
用户将信息系统建设的规划目标等方面的要求明确提出,可以采取招标等方式委托软件公司,通过签订合同的方式来完成开发任务。这种开发方式的不足是,风险较大,对于开发单位需要进行深入调查,所签订的开发合同的条款需要细致、明确。 - 合作开发。
由用户和开发单位共同完成系统开发任务。优点在于双方取长补短,用户在此过程中培养了—支队伍。在双发合作过程中用户应充分明确自身的职责。 - 从市场上购买满足组织需求的软件。
优点是购买的软件技术资料齐备、维护可靠,但是市场上的软件往往具有通用性,对于组织的特殊情况难以充分考虑,需要进行二次开发,这往往会有—定的技术难度,没有有关产品供应商的协助是难以进行的。 - 咨询开发。
以组织自己的力量为主,外请专家进行咨询的方式。主要的是系统分析员进行咨询指导,如帮助系统的总体规划和系统分析等,而系统的实施由组织自己进行。这种方式是对用户自行开发的一种补充。
四、开发单位的选择
除了自行开发以外的其它几种开发方式,都存在选择开发单位的问题。选择开发单位—般应从以下几个方面进行考虑和衡量
- 开发单位应具有计算机专门知识,熟悉开发工具
- 具有相关项目开发成功的实际开发经验
- 熟悉用户的业务情况和开发过类似的信息系统项目
- 与用户单位具有较近的地理位置,便于及时对系统进行维护
五、开发工作组织
系统开发是—项涉及面广的工作,需要成立相应的工作组织:
- 系统开发领导小组:系统开发领导小组的任务是制定管理信息系统规划;在开发过程中,根据客观发展情况进行决策,协调各方面的关系,控制开发进度。小组成员应包括—名企业领导,系统开发项目负责人,有经验的系统分析师,以及用户各主要部门的业务负责人。
- 系统开发工作小组:系统开发工作小组由系统分析员,即系统工程师负责。其任务是根据系统目标和系统开发领导小组的指导展开具体工作。这些工作包括开发方法的选择,各类调查的设计和实施,调查结果的分析,撰写可行性报告,系统的逻辑设计,系统的物理设计,系统的具体编程和实施,制定新旧系统的交接方案,监控系统的运行;如果需要,协助组织进行组织机构变革。
• 项目:必须在预算内、指定时间内、按特定规范完成的—序列独特复杂且相互关联的活动。
• 项目经理:项目从开始到结束负责监督的人员。
• 项目管理:在规定的时间内以最小的成本,确定项目范围、规划、人员配备、组织、指导和控制—个可接受系统的开发。
• 过程管理(Process management) : 记录、管理和持续改进系统开发过程的活动。
项目的规模范围和复杂性决定了项目规划过程的全面性和最终成果。此外,还得做出资源可用性和潜在问题的许多假设。分析这些假设及系统成本/收益构成了—个商业案例(business case) 。
Business case: A written report that outlines the justification for an information system. The report highlights economic benefits and costs and the technical and organizational feasiblity of the proposedsystem.
六、CMMI (or CMM)
能力成熟度模型(Capability Maturity Model Integration) : 评估组织信息系统开发、管理流程和产品成熟度的标准化框架。(卡内基梅隆大学软件工程研究所)
- CMMI是信息技术领域对全面质量管理TQM 的回应。
- CMMI共有五级每—级都是下—级的先决条件:
• 级别1, 初始级:系统开发无既定过程,也就是无既定方法学。每个开发团队都遵循各自的方法学。项目成败取决于项目团队的技能和经验。开发过程不可预测、不可重复。项目会遇到许多危机,并且常常超出预算和延期。文档是零散的且缺乏—致性导致系统维护很困难。几乎所有组织一开始都处于第1 级。
• 级别2, 可重复级:组织已经建立了项目管理过程和实践来跟踪项目费用、进度和功能。这—级的重点是项目管理。组织会采用方法学开发系统,但不同项目可能采用不同方法学。项目的成败仍取决于项目团队的技能和经验。
• 级别3, 已定义级:购买或开发了标准系统开发过程(方法学)。组织所有的系统开发和维护项目都使用该方法学的某个剪裁版本。由于所有项目都使用标准化的过程,所以项目文档和交付成果能保持—致且质量很高。开发过程稳定、可预测、可重复。
• 级别4, 己管理级别:组织建立了可度量的质量和生产率目标。标准过程和产品质量的详细度量数据被例程化的收集和存储在数据库中。组织能应用这些数据提高单个项目的管理水平。这样,组织能更主动地应对系统开发问题(如费用超支、进度延迟等)。甚至当项目遇到不可预期问题时,仍可在预测和度量问题影响的基础上调整项目开发。
• 级别5 优化级:使用级别4建立的度量体系和数据分析,持续监控和改进标准开发过程。
七、项目管理组的组成
• 项目经理
• 过程管理小组
• 项目支持小组
• 质星保证小组
• 系统工程小组
• 开发小组
• 系统集成小组
- 企业高层领导
• 管理信息系统的开发必然涉及企业中的组织结构的变动。实际上就是对于人的权力和职责的再分配。这种工作在—个组织中,如果没有第—把手的首肯,是不可能做好的。
• 对于信息系统这种组织中的神经中枢系统,其目标必须与组织战略目标—致,否则系统建立之后是无法运行的。组织战略目标与信息系统目标的结合只有最高领导才能把握,所以高层领导必须是系统开发小组的领导成员,并且要切实的投入时间和精力。 - 项目主管
• 项目主管是实际系统开发的业务领导者与组织者,他主持整个系统开发,确定工作目标以及确定实现目标的具体方案。
• 项目主管需要懂管理和懂技术两方面工作的才能。管理需要项目主管有很强的管理能力和与人进行交流的能力。技术方面的工作才能,包括对计算机科学技术地掌握和应用,有能力指定系统开发时有关问题的技术解决方案与技术路线。 - 系统分析员
• 系统分析员的主要任务是研究用户对信息系统的需求,进行可行性研究;进行系统分析与设计;负责对新系统地安装、测试和技术文件的编写。
• 系统分析员不仅应当具备计算机硬件、软件的知识,懂得企业管理的业务,还应了解现代化管理方法以及各种经济数学模型在企业管理中的应用,并且应当具有理论联系实际、灵活运用上述知识的能力。
• 系统分析员也要善于处理人际关系,能与各类人员建立良好的合作关系;能够正确理解各级管理人员提出的需求,灵活运用现代管理方法,将这些需求经过分析和逻辑拙象转换为计算机系统的设计方案,成为编写程序的依据。 - 硬件网络设计员
• 根据新系统逻辑方案制定硬件网络配置方案,并负责该方案的全部实施工作。
• 数据库管理员
• 根据系统逻辑方案中提出的数据需求进行数据库的设计、定义和存储工作,负责在系统运行中监督和控制数据库的运行以及数据库的维护和改进工作。 - 程序设计员
• 程序设计员的主要任务是按照系统分析员提出的设计方案编写程序,调试程序,修改程序,直到新系统投入运行。在系统交付使用以后,企业的程序设计员还要担负系统的运行维护工作,负责程序的改进任务。
• 程序设计员应该有较强的逻辑思维能力,掌握计算机软件的基本知识,熟练掌握数据库及程序设计语言。 - 组织的管理人员
• 在前期他们要把自己的需求非常准确和全面地提供给系统分析员;在与计算机工作人员进行沟通时,要把业务流程和系统功能阐述得很透彻。在后期系统雏形出来之后,能够根据系统的功能,对系统进行客观的评价,找出系统改进方向。
• 参与系统开发的管理人员必须是业务骨干,了解自己的部门或自己工作的关键点和难点是什么,更重要的是能够对未来信息系统的构成和添加哪些新功能有自己的看法。
• 由于新系统的采用,势必造成原来管理方法和思路的改变。企业管理人员应当按照新系统的要求,组织基础管理工作的整顿,提供新系统运行所需的各种数据,积极参与新系统开发所需要的培训,尽快适应新系统的工作思路和流程。
八、开发项目管理
项目管理协调开发人员和系统用户之间关系,以保证开发过程有条不紊的进行。
- 计划管理
• 制定总体计划,确定系统开发范围,估算开发所需资源,划分系统开发阶段,分步实施,明确系统开发重点
• 制定阶段计划,分解阶段任务,估算阶段工作,规划阶段工作进度
• 工程计划执行情况检查,找出无法按计划完成的原因并且提出相应建议,以对计划做出相应调整 - 技术管理
• 主要工作内容为标准化管理,确定所依据的标准,确定自定义标准范围
• 安全管理制定安全保密制度,排除不安全因素,进行安全保密教育。 - 质量管理
• 贯彻系统开发过程质量管理原则
• 确定系统质量管理指标体系
• 保证系统的可用性、系统的正确性、系统的适用性、可维护性、以及文档完整性
• 系统开发周期内的质量管理,分级段确认工程质量指标,实行质量责任制
• 对各项任务进行质量检查,分阶段质量评审,分析影响阶段质量的原因。 - 资源管理
• 人员管理:制定各类专业人员需求计划,对人员进行合理组织和使用,进行人员培训
• 软件资源管理:明确软件所需和软件来源,合理使用软件,重视软件的日常维护
• 硬件资源管理:熟悉系统运行环境和硬件系统配置,制定硬件安全使用制度,重视硬件维护保养,加强对辅助设备的管理
• 资金管理:严格执行投资概算,包括硬件软件投资、系统开发费用、运行和维护费用,做到资金使用平衡,定期编制资金使用报表。
CMMI 2级开始项目管理。CMMI 3级开始过程管理。大多数追求CMMI的组织都将目标锁定在3级,也就是说,始终使用标准化过程或方法来开发所有信息系统
九、MIS开发基本原理
MIS开发不管采用何种ISDM, 都要遵循—些基本原理:
- 原理1: 让系统用户参与开发。
交流不畅和误解是系统开发中存在的主要问题。但是,系统用户的参与和培训可以减少这类问题的发生,并有助于新想法和技术被人们所接受。因为人们往往抵制变化,所以信息技术经常被看作是—种威胁,所以开发人员需要经常与系统用户交流,消除这种观点 - 原理2: 确立开发阶段和开发活动
各种ISDM都有自己的开发阶段和开发活动!而且不同专家、组织还可能依据项目裁剪ISDM - 原理3: 用文档记录整个开发过程
• 大中型项目中,为促进不断变动的关联人员间的交流,文档必须同开发过程同步。但是要注意文档工作量的问题。 - 原理4: 遵循EA标准
• 企业IT架构是企业架构(Enterprise Architect, EA) 的重要组成部分。
• 组织开发信息系统或进行系统集成时必须遵循企业信息系统架构设置的标准,如标准化数据库技术、接口技术等。IT架构通常由CTO负责。 - 原理5: 过程管理与项目管理(manage process and projects)
• 过程管理确保组织选定的方法学在所有项目中得到—致的运用。
• 项目管理确保在规定时间内,以最小开销,开发出质量可接受(以组织选定的方法学)的MIS系统。
• 有效的项目管理是CMM 2级,可重复的开发过程则是CMM 3级, CMM4级和CMM 5级则需要有效的过程管理。
• 项目管理可以不需要标准过程,但在成熟组织中,所有项目都应遵循—个标准化的可管理的过程。 - 原理6: 视MIS系统为重要投资
- 系统开发—般有多种方案供选择,应评价每种方案的可行性,尤其是成本效益。
- 成本效益分析要贯穿整个开发过程。
• 系统所有者期望获取投资范围之外的功能。
• 同时,随着分析员对业务和需求了解的逐步深入,项目范围也会随之扩大,费用和进度也需要重新评估。 - 作为重要资产信息系统规划由企业战略规划驱动。
- 原理7: 风险管理
- 注意风险和收益的平衡。不同组织的风险承受能力不同。
- 避免跌入成本泥潭。整个过程应设立多个可行性检测点,分析员在每个检测点考虑:
• 项目不再可行就取消它。
• 项目范围增加了,就重新评估费用和进度。
• 如果不能改变项目预算和进度,并且当前项目预算和进度不足以实现所有的项目目标,就缩小项目范围。
- 原理8: 分而治之
• 通过不断地将—个大系统分解成更容易管理的小系统(子系统),分析员可以简化问题解决的过程。
• 将系统的不同部分委托给不同的关联人员。
• 分而治之有助于项目成员沟通和项目管理。 - 原理9: 考虑未来的增长和变化
• 设计良好的MIS系统应能够适应业务的变化和增长。
十、MIS开发
在讨论MIS开发过程时,不会局限于特定ISDM, 课程将讨论几个一般化阶段,包括:
• 系统规划
• 系统分析
• 系统设计
• 系统实施
同时,我们还需要了解—些跨阶段全过程持续性活动,包括:
• 调查研究
• 文档工作和演示汇报
• 可行性分析
• 项目管理和过程管理
-
mis开发跨阶段活动——调查研究
进行调查时应注意的事项
1、调查前要做好计划和用户培训
2 、注意调查态度。调查要从系统的现状出发,避免先入为主。要结合组织的实际清况管理现状,了解实际问题,得到客观资料。
3、调查顺序。先自上而下进行初步调查,在了解总体和全部的基础上,再由下而上地进行详细调查。
4、调查与分析整理相结合
5、规范调查图表
6、调查资料的搜集和整理与归档。原始资料包括:
1)报表、单据的样品和格式
2)调查访问的记录
3)调查访问后形成的图表
4)调查访问后,初步归纳的文字资料 -
mis开发跨阶段活动——文档与演示
软件=文档+程序
1.文档是人脑思维活动的体现,是mis建设中的唯一可见物。
2.它能用来统一思想,防止健忘和误解,是MIS开发团队内各类人员之间及团队内外的通讯依据。
3.它是观察、控制、协调信息系统开发过程的依据。沟通是MIS项目成功的基本要素。事实上,沟通差常被认为是项目延期或返工的原因
MIS开发有两种常见的沟通技术:文档记录和演示汇报。
所有的项目阶段中都会用到文档和演示。记录文档的要求:
• 文档要标准化、规范化
• 维护文档的—致性
• 维持文档的可追踪性
• 文档管理的制度化 -
mis开发跨阶段活动——可行性分析
MIS开发全过程都需要进行可行性分析。因为项目可行性在开发过程中有可能变化。
• 比如,在初步研究需求后,原来明显可行的项目范围和项目复杂性可能会发生变化,导致以前看来可行的项目变得不再可行。所以, MIS开发中—般要设立几个可行性检查点(checkpoint) 。
• 在系统分析阶段,—般会在定义项目范圉时设—个,进行问题分析时又设—个。
• 在系统设计阶段,—般会在决策分析阶段设置—个。
• 可行性检查点的设置依项目团队所用ISDM 、项目特性、组织特性而定,不固定。 -
mis开发跨阶段活动——过程管理与项目管理
MIS项目管理的工具和技术
1、PERT (Project/Program Evaluation and Review Technique, 项目评估和评审技术),图形化的网络模型,描述项目中任务之间的关系,主要用来在任务被调度之前理清任务之间的依赖关系。
2、甘特图(Gantt Chart) , —种简单的水平条形图,以日历为基准描述项目任务。
两种图可以并用—般来讲交流进度时用甘特图,研究任务间关系时用PERT图。MIS项目管理的基本职能
1、确定项目范围。项目范围定义了项目的边界,哪些业务将被研究、分析、设计、构造、实现并最终得到改进,也就是确定系统的哪些方面在项目之内,哪些在项目之外。项目经理必须圈定项目预期和约束条件,以便规划开发活动,估算费用和管理预期。
2、规划任务。项目主管依据项目目标和项目所用ISDM确定完成项目需要执行的任务
任务规划通常以自顶向下的纲要方式定义。以WBS (work breakdown structure, 工作分解结构)表示。
• WBS: 将项目层次化的分解为开发阶段开发活动和开发任务。任务分解应以可计划、可调度、可分配、可管理的工作量为准。
• —般建议两周或更短时间内能完成的工作量。
• 实际上,大多数ISDM 已经做了任务规划,但是也允许项目主管在实际开发中,依据项目特性增加、删除和修改活动和任务
• WBS中会有—些特殊的称为里程碑(milestone) 的任务。里程碑事件标识项目开发期间主要交付成果的完成或结束。
3、估算任务工期。完成项目所需的每个任务必须被估算:需要多少时间?需要多少人?需要什么技能?哪些任务必须在其他任务开始之前完成?哪些任务可以重叠?任务开销会有多大?
4、任务调度。给定项目计划,项目主管要制定进度表,负责调度所有的任务。调度必须充分理解各任务任务前置条件、任务持续时间。
5、组织。项目主管必须确保团队成员理解各自的角色和职责,分配项目资源。
6 、指导。项目主管要有良好的人际沟通能力,协调、协商、激励、忠告、赞赏和奖励团队成员,指导团队的开发活动。
7、控制。项目计划的执行过程很少有不出问题或不超期的。项目主管必须监视和报告项目的进展,包括目标范围进度和费用,并在需要时做出适当调整。
8、总结。项目结束时总结经验教训。