预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共96页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
徐毅江南大学物联网工程学院第5讲系统开发概述5.1问题的提出5.2系统开发的指导思想福特公司的货款支付的信息模型5.3MIS开发的认知模型和生命周期5.4系统开发的方法OOM的四要素
对象(object):世界由对象组成
类(class):
对象可划分为类
单个对象可视为某一类的实例(instance)继承(inheritance):类可分层,下层子类与上层父类有相同特征
消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话)
OOM=
Object+Class+Inheritance+Communicationwithmessages面向对象分析(OOA)
识别问题域中的对象、类及其间关系
类图、对象图
面向对象设计(OOD)
以OOA模型为任务,在一定的语言平台上进行精细化处理
面向对象程序设计(OOP)
采用面向对象的程序设计语言实现OOD的模型
开发工具:VS、VS.NET、Delphi、Eclipse等
OOM的表示方法
Booch方法
OMT:面向对象建模技术
UML:统一建模语言两种方法的比较SM:面向过程设计,以计算为核心,数据与操作分离,不易理解
OOM:以对象为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”
类:由特殊到一般的归纳
继承:由一般到特殊的演绎
SM:结构依赖于功能,不稳定
OOM:用对象模拟实体,需求变化不会引起结构的整体变化,因此系统相应稳定
SM:通过建立标准函数库来重用软构件。但标准函数缺少必要的“柔性”,难以适应不同场合的不同需要
OOM:一个类所有的实例都可重用它的代码;由继承派生出的新的子类可重用其父类的代码,并且可以修改、扩充而不影响父类的使用SM:可维护性是最令人头痛的问题
OOM:从以下几方面改善了可维护性
稳定性好:软件功能需求的变化不牵动全局
类独立性强:只要修改不涉及类的对外接口,则内部修改完全不影响外部调用
继承和多态性:使其很容易被修改和扩充
容易理解
容易测试、调试
注意:
OOM并不是减少了开发时间,而是通过提高可重用性、可维护性,进行扩充和修改的容易程度等,从长远角度改进了软件的质量
OOM与原型法结合使用效果好5.5软件过程模型福特汽车的生产流水线
1913年,亨利福特发明了传送带式的汽车装配生产线,使得生产率大大提高
福特的成功也让流水线走向其它行业,成为现代化生产的标志和象征
思考:同样的生产线能不能用到软件的生产中来呢?
软件生产不是简单重复性劳动
软件开发是滚雪球一样的滚动式,而非直线式
软件开发虽然没有套路,但是有规范什么是过程?
“AProcessdefinesWhoisdoingWhat,WhenandHow,inordertoreachacertaingoal”
用一定的流程将各个环节连接起来,并用规范的方式操作全过程,是跨越软件整个生存期的全部过程、活动和任务的框架
过程模型
过程的抽象表示过程模型
过程的抽象表示
定义了:
角色分工
活动定义
提交结果
工作流和沟通软件过程模型:主要环节我T 这位同学回去后想了一下,列出了一个工作清单:三、开发工具:VC6.0
四、开发环境:普通PC机、Window2000/XP
五、工作量:
1.研究一下四种图片的格式
2.设计一个解析器类,解析这四种格式
3.设计一个文档类,实现读取、另存和目录浏览功能
4.设计一个视图类,实现显示、缩放、漫游功能软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型软件过程模型:瀑布模型我T 事情就这样定下来了,S愤怒的撕掉了自己的工作清单......,回去后S花一天时间用Delphi做了个样子,只能读BMP和JPG文件,做了些菜单和工具栏,用Access建了一个图片库。就这个“假”的程序,S和C讨论了一天,S又修改了几次,又讨论了几次,一周后,这个“假”的程序表面看起来和真的一模一样。
于是S打算用VC重写这个程序,但是他很快发现继续用Delphi写更方便,因为至少界面不用重做了,于是......两个月后,这个事情终于结束了。
S顺利的完成了他的毕业设计《JPG压缩优化算法设计》,C一直使用这个软件管理他的图片,并庆幸花了这么少的钱得到了这么有用的东西,而T,则正在考虑如何为他下一批学生分派任务。软件过程模型:快速原型法软件过程模型:快速原型法软