版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲人:高东杰,系统构建与开发模式,河南精华科技有限公司,论题,系统架构 系统建模 开发模型 设计模式,架构,框架和设计模式三者区别与联系,架构就是体系结构 框架是在特定领域基于体系结构的可重用的设计的半成品的软件 设计模式是在一定的环境中解决某一问题的方案,系统架构,系统架构是指在软件设计与开发中的重要决策,把软件分解成不同的部分。而每个部分有相应的框架,架构不是软件是一种思想。 目前在WEB应用的开发中,采用三层或多层架构,典型的三层架构是MVC,MVC起源与概念,起源于八十年代为编程语言Smalltalk80发明的一种软件设计模式 模型层(model)M 视图层(view)V 控制层(c
2、ontroller)C,MVC如何工作?,视图:用户看到并与之交互的界面, 作为一种输出数据并允许用户操纵的方式 模型:像EJB一样处理很多任务并返回无格式数据,表示企业数据或业务规则,一个模型可以为多个视图提供数据 控制器接受用户的输入并调用模型和视图去完成用户的需求,为什么要使用MVC?,1. 数据层和业务规则与表示层分离,大大降低了代码的耦合度 2.多个视图可以共享一个模型 3.模型返回的数据没有进行格式化,可以被不同界面使用 4.模型是自包含的,与控制器和视图分离,可以很容易的改变应用程序的数据层和业务规则 5.控制器联接不同的模型和视图完成用户的需求,控制器可构造强有力的应用程序,从
3、而达到模型和视图的重用,MVC的优点,低耦合性 高重用性和可适用性 较低的生命周期成本 快速的部署 可维护性 有利于软件工程化管理,MVC的缺点,内部原理复杂,不易理解,没有明确的定义 模型与视图分离,调试困难;每个构件使用前必须严格测试 模型,控制与视图的分离,增加的工作量 MVC不适合小型或中等规模的项目,MVC组件及javaWeb开发方式,1:Jsp+Servlet+JavaBean(EJB) 2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model) 3:Jsp+Struts+JavaBean(EJB) 4:SSH (Struts + Spring
4、+ Hibernate),Struts Struts2 WebWork Spring MVC JSF Tapestry,系统建模,系统建模是用模型描述系统的因果关系或相互关系的过程。 而我们在建模时都会与某个领域的业务紧密关联,所以我们只谈讨领域模型。,领域模型,领域模型是对某个领域内的概念类或现实世界中对象的可视化表示。,软件的概念,一种被创建用来帮助我们处理现代生活中复杂问题的工具,领域,模型,通用语言,实体与值对象,行为(服务),模块,聚合,工厂,资源库,重构,实体在领域模型中是必需的对象。 我们应该将所有的对象视为实体吗? 每一个对象都应该有一个标识符吗? 用来描述领域的特殊方面、且没
5、有标识符的一个对象,叫做值对象。,开发模型与敏捷开发,软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法四个价值观:沟通、简单、反馈、勇气 敏捷开发(常用的敏捷方法: Scrum (橄榄球里的争球 ),极限编程等),两者区别,开发模型是一种软件开发的生命周期 敏捷开发是多种软件开发项目管理方法的集合 比如:迭代模型是敏捷开发普遍使用的软件生命周期模型 ,敏捷开发所包含的内容比开发模型宽泛的多。,开发模型有以下几种:,瀑布模型 将软件生命周期划分为制定计划、需求分析、软件设计、程序编
6、写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。,2.迭代模型,假设一个软件共有A、B、C、D、E五个功能,怎么来开发呢? 我们可以五个功能同时做,由粗到细,逐步求精,最终完成整个软件。整个过程可以是先做出A、B、C、D、E五个功能的原型,然后完成他们的基本功能,接着对这些功能进行优化,最终得到功能完整的软件。这样的开发过程就是迭代模型。,3.增量模型,假设一个软件共有A、B、C、D、E五个功能,怎么来开发呢?我们也可以由少多到的进行开发,先完成一部分功能,然后再完成一部分功能,直至完成整个软件。例如先开发出功能A、B,然后开发出功能C
7、、D,最后开发出功能E。这样的开发过程就是增量模型。,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。 开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。,4.边做边改模式,螺旋模型, 将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。,5.螺旋模型,喷泉模型与传统的结构
8、化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。,6.喷泉模型,智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码 。,7.智能模型,智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码 。,8.混合模型,9.快速原型模型,快速原型模型的第一步是建造一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶园互换合同
- 财务合同管理岗位风险
- 贝雷片租赁合同范本
- 保险合同十句话
- 山西省2024八年级物理上册第六章质量与密度专题训练12.理解质量和密度课件新版新人教版
- 深圳市中荟高级中学2024-2025学年高三上学期期中考试数学试卷
- 《船用钢质斜梯》
- 贵州省贵阳市观观山湖区美的中学2024-2025学年九年级上学期11月期中考试化学试题
- 无卤低烟阻燃电缆料相关项目投资计划书
- 石英玻璃管(棒)相关行业投资规划报告
- CTD格式内容详解
- 海航集团空中乘务员招聘报名表
- 胃癌临床路径(2021年版)
- 人教中职数学球PPT学习教案
- [QC成果]户外主变安装防坠落悬挂装置的研制范本
- 水文地质勘查招标文件范本
- 抽动秽语综合征量表(TSGS)
- 世界顶尖流化床品牌Glatt实验室流化床
- 采区变电所设备安装方案及安全技术措施
- 机电系统一线品牌表
- 会计、出纳交接表模板
评论
0/150
提交评论