系统分析与设计

第一章:系统概述

  • 系统是一组为实现某些结果相互联系、相互作用的部件的集合体
  • 系统具有整体性目的性相关性环境适应性层次性
  • 系统分析员:研究组织中存在的问题和需求,决定人员、数据、过程和信息技术如何最大化地为企业做出贡献。主要分为:
    • 程序员/分析员:既有计算机程序员的职责,也有系统分析员的责任
    • 业务分析员:专注于系统分析与设计中的非技术方面
  • 在需要基于计算机的业务解决方案的人和那些懂得信息技术的人之间存在交流障碍,系统分析员要沟通这个障碍。
  • 系统分析员所需要的技能:
    • 有效的信息技术知识
    • 计算机编程经验和专长
    • 一般的商务知识
    • 解决问题的技能
    • 与人沟通的能力
    • 处理人际关系的能力
    • 韧性和适应性
    • 人格与道德规范
    • 系统分析和设计能力

第二章:系统规划

1.信息系统生命周期各阶段的任务
  • 系统规划
  • 系统分析
  • 系统设计
  • 系统实施
  • 系统维护
2.系统规划的定义
  • 信息系统的系统规划又称为信息系统的战略计划,是信息系统生命周期的第一阶段,是对组织总的信息系统目标、战略、信息系统资源和开发工作的一种综合性计划,属于组织对信息系统最高层次管理的范畴,是一个组织的战略规划的重要组成部分,是关于信息系统长远发展的规划,是信息系统的概念形成期。
  • 系统规划要解决的是面向长远的、未来的、全局性和关键性的问题,而不是要解决项目开发中的具体业务问题。
3.系统规划的作用
  • 确保信息系统的正确目标和任务,降低系统建设风险
  • 合理分配和利用信息资源(信息、信息技术和信息生产者),以节省信息系统投资
  • 指导信息系统开发,用规划作为将来考核系统开发工作的标准
4.系统规划的五阶段模型
  • 信息系统战略规划
  • 组织业务流程规划
  • 系统总体结构规划
    • 组织的信息需求分析
    • 系统数据规划
    • 功能规划与子系统划分
    • 信息资源配置规划
  • 项目实施与资源分配规划
  • 系统的可行性研究
5.可行性研究
  • 技术可行性
  • 经济可行性
  • 社会可行性
  • 可行性分析报告 — 系统规划的最后文档(包括总体方案和可行性论证两个方面)

第三章:系统的开发方法

1.经典的生命周期法
  • 瀑布模型
    • 运用系统有序的步骤去开发软件,从系统观念进行分析、设计、编码、测试和维护。把软件生存的周期一次划分为若干个阶段,每个阶段有相对独立的任务和标志性的成果,然后逐步完成各个阶段的任务,上一阶段的任务没有完成,不能进行下一阶段的任务。
    • 要求用户一开始就清楚地提出所有请求,很难适应项目开始阶段存在的不确定性。越是生命周期的后面阶段,由于需求变化造成的损失越大。
    • 实际项目很少完全遵循该模式提出的工作顺序,即明确的一个阶段一个阶段去完成,往往重复迭代。
    • 开发过程复杂,开发周期长。
    • 可运行的程序一直要到项目的最后阶段才可能得到。因疏忽而导致的错误要到检测运行时才能发现,造成经济、时间的损失。
  • 增量模型
    • 要开发一个大的软件系统,先开发其中的一个核心模块(或子系统),然后再开发其他模块(或子系统)。
    • 在每增加一个模块之前,要先对该模块进行模块测试,然后再将此模块加入到系统中,然后要进行系统集成测试。
    • 任务或功能模块驱动,可以分阶段提交产品。
    • 将一个大系统分解为多个小系统,将一个大风险分解为多个小风险,从而降低了开发难度。
    • 人员分配灵活
    • 如果软件系统的组装和拆卸性不强,或开发人员全局把握水平不高,或客户不同意分阶段提交产品,或者开发人员过剩,就不宜采用这种模型。
  • 迭代模型
    • 多次执行各个开发工作流程,最终交付一系列逐步完善的实施成果
    • 每次按顺序完成这一些列工作流程就叫做一次迭代,每次迭代,均以次要里程碑结束。
    • 迭代是产生可执行的产品发布的完整开发循环,所发布的产品是开发过程最终产品的子集。
    • 在开发早期或中期,用户需求可以变化;在迭代之初,不要求有一个相近的产品原型。适用范围广,几乎适用于所有项目的开发。
    • 采取循环工作方式,每次循环均使工作产品更靠近目标产品一次,要求项目组成员具有很高的水平并掌握先进的开发工具。
  • 螺旋模型
    • 将瀑布模型和快速原型模型结合起来,强调风险分析。
    • 在瀑布模型的每一个开发阶段前,引入一个非常严格的风险识别、风险分析和风险控制。
    • 支持用户需求的动态变化
    • 有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
    • 减少了过多测试或测试不足所带来的风险
    • 很难让用户确信这种演化方式的结果是可以控制的
    • 需要具有相当丰富的风险评估经验的专门知识
    • 过多的迭代次数会增加开发成本、延迟提交时间
  • 喷泉模型(喷泉无间隙性模型)
    • 各个开发阶段没有特定的次序要求,而且可以交互进行,在每个开发阶段中&#
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值