《信息系统的开发方法.ppt》由会员分享,可在线阅读,更多相关《信息系统的开发方法.ppt(32页珍藏版)》请在金锄头文库上搜索。
1、第三第三章章 信息系统的开发方法信息系统的开发方法( Information System Analysis and Design) 信息管理与信息系统教研室信息系统分析与设计信息系统分析与设计第第 2 2 页页* *第第 2 2 页页本章要点结构化方法快速原型化方法*面向对象方法敏捷方法面向方面方法*开发方法的选择和重构CASE工具介绍信息系统分析与设计信息系统分析与设计第第 3 3 页页* *第第 3 3 页页3.1结构化开发方法结构化程序设计:每个程序都有一定的基本结构,(分支结构、顺序结构、循环结构),每个程序都只能有一个入口和出口。结构化设计技术:以程序设计为基础,运用一组规范和准则
2、指导系统开发人员从总体结构着手,再进行每一个功能模块的具体设计。结构化分析技术:在系统设计之前将需求进一步明确化。信息系统分析与设计信息系统分析与设计第第 4 4 页页* *第第 4 4 页页3.1.1结构化程序设计自顶向下,逐步求精登录验证登录验证验证非法输入验证非法输入验证用户名验证用户名验证密码匹配验证密码匹配信息系统分析与设计信息系统分析与设计第第 5 5 页页* *第第 5 5 页页3.1.2结构化设计技术MSC模块结构图工资系统工资系统人员考勤信息人员考勤信息计算工资总量计算工资总量打印工资册打印工资册计算工资税率计算工资税率计算支付工资总量计算支付工资总量加入了数据库设计和交互设
3、计环节信息系统分析与设计信息系统分析与设计第第 6 6 页页* *第第 6 6 页页3.1.3结构化分析技术三部分内容:处理需求;数据需求;处理过程与数据之间的关系ERD用于表示数据需求模型Events定义系统的处理需求DFD用于表示系统过程和数据之间的关系信息系统分析与设计信息系统分析与设计第第 7 7 页页* *第第 7 7 页页3.1.4结构化开发方法的特征抽象性从分析到设计再到程序实现经过多级抽象面向过程从业务功能出发,数据只是过程的属性逻辑独立层次性、模块化、结构化信息系统分析与设计信息系统分析与设计第第 8 8 页页* *第第 8 8 页页3.1.5优缺点分析优点:阶段的顺序性和阶
4、段的依赖性推迟实现良好的文档支持缺点可变性差,无法适应需求变化DFD到MSC的转换不自然信息系统分析与设计信息系统分析与设计第第 9 9 页页* *第第 9 9 页页3.2面向对象开发要点1.面向对象的软件系统是由对象组成的,系统中的任何元素都是对象(Objects)2.每个对象类定义了数据和方法,数据是对象的状态特征,方法是允许施加在对象上的操作(Class)3.根据集成关系,对象类有层次结构(Inheritance)4.对象之间通过消息传递相互联系(message)信息系统分析与设计信息系统分析与设计第第 1010 页页* *第第 1010 页页3.2面向对象方法的不同之处结构化开发方法面
5、向对象开发人为地将客观实体分离为数据和处理逻辑将实体作为一个对象,自身具有静态属性和动态行为面向数据流,以过程为中心构造和处理客观事件面向对象,把问题域的要领直接映射到对象及对象之间的接口上以模块为处理单位,直接处理数据,模块之间存在控制与被控制的关系,数据处理后直接返回结果以类为处理单位,不能直接修改数据,只能通过对象的成员函数完成各阶段按规则进行转换,实现有缝连接采用一致性模型表示,无缝连接系统是工作组一系列过程或函数的集合系统是一系列相互独立又相互协作的对象的集合信息系统分析与设计信息系统分析与设计第第 1111 页页* *第第 1111 页页3.2二者的联系面向对象方法诞生在后,继承了
6、很多结构化方法中的成功经验如:数据抽象、自顶向下、模块化、高内聚、低耦合等。OO方法中的一些关键理念如:封装、多态、抽象层次结构等,不仅可以提高软件的可重用度,而且可以有效地管理软件系统日益增长的复杂度。信息系统分析与设计信息系统分析与设计第第 1212 页页* *第第 1212 页页3.2面向对象方法要点基本概念对象对象类实例消息方法属性技术要点抽象封装继承多态共享信息系统分析与设计信息系统分析与设计第第 1313 页页* *第第 1313 页页3.3敏捷宣言个人和交互胜过于过程和工具可工作的软件胜过于全面详尽的文档寻求客户的协作胜过于合同的谈判对于变更的响应要胜过于遵循固定的计划信息系统分
7、析与设计信息系统分析与设计第第 1414 页页* *第第 1414 页页3.3敏捷软件开发要点主要活动:编码、测试、倾听、设计角色:程序员、客户、测试员、跟踪人员、教练、顾问、经理阶段:调查、计划、迭代、产品化和维护主要特点:适应性和面向人信息系统分析与设计信息系统分析与设计第第 1515 页页* *第第 1515 页页3.3案例腾讯微信微信创造移动互联网增速记录,10个月5000万手机用户,433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每天次数过亿信息系统分析与设计信息系统分析与设计第第 1616 页页* *第第 1616 页页信息系统分析与设计信息系统分析与设计第第
8、 1717 页页* *第第 1717 页页敏捷是一种态度试错的信仰:坚信在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能有(更多的)机会胜出。微信必须要容忍说哪怕在发布前的十分钟,也要允许他变更。给产品决策者最大的自由度是微信能够胜出的关键。微信是一个海量系统,有千万级用户同时在线,在一个单独的功能上每天有百亿级的访问,同时还要保证99.95%的可用性。信息系统分析与设计信息系统分析与设计第第 1818 页页* *第第 1818 页页四大技术理念:大系统小做仅仅把模块变得更为清晰,这在海量系统设计开发中是不够的,还需要在物理环境上进行分离部署,出现问题的时候
9、可以快速发现,并且在最快的情况下解决掉。信息系统分析与设计信息系统分析与设计第第 1919 页页* *第第 1919 页页四大技术理念:一切可扩展网络协议需要扩展,当要升级一个新功能的时候,会有一些比较大的困难,所以所有协议设计都比较向前兼容,但是向前兼容还是不够的,因为网络协议设计本身有非常多的功能也会有比较大的字段,相关的代码可能会有数千行,这一块不能通过手写方式完成。可以通过XML描述,再通过工具自动生成所有的代码,这是微信获得快速开发的一个重要的点。数据存储必须可扩展的。以往绝大多数海量系统的设计采用固定字段的存储,在现代系统中会采用KV或者TLV的方式,微信也做了不同的设计。信息系统
10、分析与设计信息系统分析与设计第第 2020 页页* *第第 2020 页页四大技术理念:基础组件SvrkitClient/Server自动代码生成框架:10分钟搭建内部服务器LogicServer逻辑容器:随时添加新逻辑OssAgent监控/统计框架:所见即所得的监控报表存储组件屏蔽容灾/扩容等复杂问题信息系统分析与设计信息系统分析与设计第第 2121 页页* *第第 2121 页页四大技术理念:灰度发布灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式。ABtest就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁
11、移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。信息系统分析与设计信息系统分析与设计第第 2222 页页* *第第 2222 页页每天20个后台变更信息系统分析与设计信息系统分析与设计第第 2323 页页* *第第 2323 页页技术支撑协议的设计容灾的对策功能的轻重系统的监控信息系统分析与设计信息系统分析与设计第第 2424 页页* *第第 2424 页页按分钟、按机型统计信息系统分析与设计信息系统分析与设计第第 2525 页页* *第第 2525 页页3.4面向方面开发根据影响系统性能或语义的属性进行分解,如日志、性能、内存管理。这些被称
12、为横切特性。横切特性局部化并从功能模块中分离出来,被封装成独立的方面单元。通过方面编织器,将方面单元与功能模块编织成最终软件系统。信息系统分析与设计信息系统分析与设计第第 2626 页页* *第第 2626 页页3.4.1面向方面开发过程方面分解:分离模块关注点和横切关注点关注点实现方面组合:根据规则编织或集成信息系统分析与设计信息系统分析与设计第第 2727 页页* *第第 2727 页页3.4.2面向方面的优缺点优点代码集中易于理解模块化横切关注点系统容易扩展代码重用性更好缺点没有完整的文档、测试和实践应用缺乏开发工具信息系统分析与设计信息系统分析与设计第第 2828 页页* *第第 28
13、28 页页3.5开发方法选择注意每种方法各有特点,可以选择一种适当的方法或综合集中方法,不仅缩短系统的开发周期也能保证系统的开发质量选择开发方法要依靠四个要素P76可以同时采用传统方法和面向对象,但是采用传统方法分析、面向对象方法设计是不可取的。信息系统分析与设计信息系统分析与设计第第 2929 页页* *第第 2929 页页3.6CASE工具CASE是软件工具和方法的结合体,CASE工具是能够支持SDLC中一个或多个阶段的工作自动化的计算机软件。传统的系统开发基于CASE的开发强调编码和测试基于书面的规范人工编码强调分析与设计快速交互的原型技术自动化的编码生成手工文档密集的软件测试维护代码和
14、文档自动化的文档生成自动化的设计检测维护设计规范信息系统分析与设计信息系统分析与设计第第 3030 页页* *第第 3030 页页3.6CASE工具介绍工具简要描述应用需求分析绘制业务流程图、数据流图、实体关系图等RationalRose,MSVisio,PowerDesigner数据库设计工具支持概念数据模型和物理数据模型的生产数据库设计:Erwin、ER/Studio数据库开发:Oracle/Form,Oracle/Developer,ObjectBrowserForOracle项目管理工具用于项目规划和资源估算项目管理:MSProject配置管理:VSS,WinCVS,RationalC
15、learCase程序设计工具根据高层规格说明生成可执行的代码模块Visualstudio.NET,Jbuilder,C+builder,Delphi,Powerbulider测试工具根据某种特定的结构化方法设计规则,对系统的信息准确性和完整性进行检测Panorama,SoftIce,Junit信息系统分析与设计信息系统分析与设计第第 3131 页页* *第第 3131 页页附录书本提及的设计课题客户支持系统(书本教学)报刊发行管理系统P47工资支付系统P151计算机实验室管理系统可靠药店服务子系统P164影碟出租系统P165信息系统分析与设计信息系统分析与设计第第 3232 页页* *第第 3232 页页 什么是项目?项目的特征有哪些?什么是项目?项目的特征有哪些? 项目管理的三要素存在什么关系?项目管理的三要素存在什么关系? 项目经理的主要职责是什么?项目经理的主要职责是什么? 信息系统项目的计划任务是哪三步?信息系统项目的计划任务是哪三步? 可行性分析包括哪些?结论有哪些?可行性分析包括哪些?结论有哪些? 甘特图与网络图的区别甘特图与网络图的区别 软件质量因素的首要因素是什么?软件质量因素的首要因素是什么? 软件质量保证有哪些措施?软件质量保证有哪些措施? 测试有哪些层次?测试有哪些层次? 小规模项目包含的文档有哪些?小规模项目包含的文档有哪些?