信息系统的开发方法.ppt_第1页
信息系统的开发方法.ppt_第2页
信息系统的开发方法.ppt_第3页
信息系统的开发方法.ppt_第4页
信息系统的开发方法.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 信息系统的开发方法 ( Information System Analysis and Design),信息管理与信息系统教研室,本章要点,结构化方法 快速原型化方法* 面向对象方法 敏捷方法 面向方面方法* 开发方法的选择和重构 CASE工具介绍,3.1 结构化开发方法,结构化程序设计:每个程序都有一定的基本结构,(分支结构、顺序结构、循环结构),每个程序都只能有一个入口和出口。 结构化设计技术:以程序设计为基础,运用一组规范和准则指导系统开发人员从总体结构着手,再进行每一个功能模块的具体设计。 结构化分析技术:在系统设计之前将需求进一步明确化。,3.1.1 结构化程序设计,自顶向下,逐步求精,登录验证,验证非法输入,验证用户名,验证密码匹配,3.1.2 结构化设计技术,MSC模块结构图,加入了数据库设计和交互设计环节,3.1.3结构化分析技术,三部分内容:处理需求;数据需求;处理过程与数据之间的关系 ERD用于表示数据需求模型 Events定义系统的处理需求 DFD用于表示系统过程和数据之间的关系,3.1.4结构化开发方法的特征,抽象性 从分析到设计再到程序实现经过多级抽象 面向过程 从业务功能出发,数据只是过程的属性 逻辑独立 层次性、模块化、结构化,3.1.5优缺点分析,优点: 阶段的顺序性和阶段的依赖性 推迟实现 良好的文档支持 缺点 可变性差,无法适应需求变化 DFD到MSC的转换不自然,3.2面向对象开发要点,面向对象的软件系统是由对象组成的,系统中的任何元素都是对象(Objects) 每个对象类定义了数据和方法,数据是对象的状态特征,方法是允许施加在对象上的操作(Class) 根据集成关系,对象类有层次结构(Inheritance) 对象之间通过消息传递相互联系(message),3.2面向对象方法的不同之处,3.2二者的联系,面向对象方法诞生在后,继承了很多结构化方法中的成功经验如:数据抽象、自顶向下、模块化、高内聚、低耦合等。 OO方法中的一些关键理念如:封装、多态、抽象层次结构等,不仅可以提高软件的可重用度,而且可以有效地管理软件系统日益增长的复杂度。,3.2面向对象方法要点,基本概念 对象 对象类 实例 消息 方法 属性,技术要点 抽象 封装 继承 多态 共享,3.3敏捷宣言,个人和交互 胜过于 过程和工具 可工作的软件 胜过于 全面详尽的文档 寻求客户的协作 胜过于 合同的谈判 对于变更的响应 要胜过于 遵循固定的计划,3.3敏捷软件开发要点,主要活动:编码、测试、倾听、设计 角色:程序员、客户、测试员、跟踪人员、教练、顾问、经理 阶段:调查、计划、迭代、产品化和维护 主要特点:适应性和面向人,3.3案例腾讯微信,微信创造移动互联网增速记录,10个月5000万手机用户,433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每天次数过亿,敏捷是一种态度,试错的信仰:坚信在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能有(更多的)机会胜出。 微信必须要容忍说哪怕在发布前的十分钟,也要允许他变更。给产品决策者最大的自由度是微信能够胜出的关键。 微信是一个海量系统,有千万级用户同时在线,在一个单独的功能上每天有百亿级的访问,同时还要保证99.95%的可用性。,四大技术理念:大系统小做,仅仅把模块变得更为清晰,这在海量系统设计开发中是不够的,还需要在物理环境上进行分离部署,出现问题的时候可以快速发现,并且在最快的情况下解决掉。,四大技术理念:一切可扩展,网络协议需要扩展,当要升级一个新功能的时候,会有一些比较大的困难,所以所有协议设计都比较向前兼容,但是向前兼容还是不够的,因为网络协议设计本身有非常多的功能也会有比较大的字段,相关的代码可能会有数千行,这一块不能通过手写方式完成。可以通过XML描述,再通过工具自动生成所有的代码,这是微信获得快速开发的一个重要的点。 数据存储必须可扩展的。以往绝大多数海量系统的设计采用固定字段的存储,在现代系统中会采用KV或者TLV的方式,微信也做了不同的设计。,四大技术理念:基础组件,SvrkitClient/Server自动代码生成框架:10分钟搭建内部服务器 LogicServer逻辑容器:随时添加新逻辑 OssAgent监控/统计框架:所见即所得的监控报表 存储组件屏蔽容灾/扩容等复杂问题,四大技术理念:灰度发布,灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式。 AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。,每天20个后台变更,技术支撑,协议的设计 容灾的对策 功能的轻重 系统的监控,按分钟、按机型统计,3.4面向方面开发,根据影响系统性能或语义的属性进行分解,如日志、性能、内存管理。这些被称为横切特性。 横切特性局部化并从功能模块中分离出来,被封装成独立的方面单元。 通过方面编织器,将方面单元与功能模块编织成最终软件系统。,3.4.1面向方面开发过程,方面分解:分离模块关注点和横切关注点 关注点实现 方面组合:根据规则编织或集成,3.4.2面向方面的优缺点,优点 代码集中易于理解 模块化横切关注点 系统容易扩展 代码重用性更好 缺点 没有完整的文档、测试和实践应用 缺乏开发工具,3.5开发方法选择注意,每种方法各有特点,可以选择一种适当的方法或综合集中方法,不仅缩短系统的开发周期也能保证系统的开发质量 选择开发方法要依靠四个要素P76 可以同时采用传统方法和面向对象,但是采用传统方法分析、面向对象方法设计是不可取的。,3.6 CASE工具,CASE是软件工具和方法的结合体,CASE工具是能够支持SDLC中一个或多个阶段的工作自动化的计算机软件。,3.6 CASE工具介绍,附录 书本提及的设计课题,客户支持系统(书本教学) 报刊发行管理系统P47 工资支付系统P151 计算机实验室管理系统 可靠药店服务子系统P164 影碟出租系统P165, 什么是项目?项目的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论