软件体系架构课下作业07

  1.MVC介绍

  MVC(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本的部分:模型(model)、视图(view)和控制器(controller)。

  MVC模式最早是由Trygve Reenskaug在1978年提出,是施乐帕罗奥多研究中心在20世纪80年代为程序语言Smalltalk发明的一种软件架构。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序的结构更加直观。软件系统通过自身基本部分的的分离同时也赋予各个部分不同的功能,专业人员在开发时可以通过自身的特长选择开发的方面:

  控制器-负责转发请求,对请求进行处理;

  视图-界面设计人员进行图形化界面设计;

  模型-程序员编写程序应有的功能(实现算法,等等)、数据库方面的专家进行数据的管理和数据库设计。

  通过以上设计,将程序划分为3部分,对程序进行分别封装,通过他们之间的相互作用,完成软件的功能:模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。这一层有对数据直接访问的权利,例如对数据库的访问。模型层不依赖于视图层和控制器,也就是说,它不关心数据如何被显示与操作;视图(View)能够实现数据有目的地显示,在这一层次上,没有程序上的逻辑。为了实现视图层的数据显示功能,它需要访问它监视的模型层,在获取模型层的数据后,将它显示到视图层;控制器(Controller)起到不同层面上的组织作用,用于控制应用程序的流程。它处理事件,并作出响应。事件包括用户的行为和数据层的改变。

      在最一开始,像数据库查询的SQL语句会和HTML的表示层代码混合在一起,这样会使得代码十分混乱,代码编写者需要进行精心的设计。但是MVC可以从根本上解决这一问题,即使会进行一些额外的工作,但是它的好处也是毋庸置疑的。它将代码进行重新组织,不同的层次归类到不同的地方,大大提高了代码的可读性和易用性。

      2.Java Web应用程序的主要组件

      Java Web应用程序中常用的组件有以下几种:Servlet、JSP、JavaBean、EJB、XML,通过这些可以简化程序的阅读难度,加强程序的可修改性。

      3.Java Web解决方案(开发方法)

  目前Web Service开发主要有以下两种开发模式:一是传统基于SOAP模式的Web Service开发;二是基于rest模式的Web Service开发。

  SOAP协议是简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

  REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比基于SOAP和XML-RPC技术的Web Service更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。

      4.常用的Java Web的MVC框架

  常用的MVC框架有本学期王老师常提到并要求我们自学的SSH框架,它其实是由三个框架组成:Struts、Spring和Hibernate,但是这个框架因为一些限制与难度原因,逐渐更新换代,出现了Spring MVC、Mybatis,在加上Spring组成的SSM现在比较流行的框架。

转载于:https://www.cnblogs.com/Daddy/p/6754119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课 程 设 计 报 告 课程名称 操作系统 课题名称 作业调度模拟 专 业 通信工程 班 级 学 号 姓 名 指导教师 2012年 6月 29 日 课 程 设 计 任 务 书 课程名称 操作系统 课 题 作业调度模拟 任务书下达日期 2012 年 6 月 24 日 任务完成日期 2012 年 6 月 29 日 《操作系统》课程设计任务书 一、课程设计的性质与目的 操作系统课程设计是集中实践性环节之一,是学习完《操作系统》课程后进行的一次全面 的综合练习。要求学生达到熟练掌握操作系统的基本理论知识;掌握不同的调度算法; 能够利用所学的基本编程知识,实现课程章节中涉及到的一些基本算法,从而加深理论 知识的理解。 二、 设计要求 1 要求利用高级程序设计语言编程完成相关算法; 2 程序具有清晰易懂的界面,有图形界面更佳; 3 程序具备要求的基本功能模块; 4 最终结果是能够运行的完整程序; 5 最后给出课程设计报告 三、课程设计报告要求 1 统一封面(本任务书附带)、设计题目、设计要求以及系统功能需求分析; 2 总体设计:包括系统总体设计框架和系统功能模块图; 3 详细设计。包括主要功能模块的算法设计思路以及对应的工作流程图; 4 主要源程序代码,并附有注释; 5 总结。包括课程设计过程中的学习体会与收获、对操作系统和本次课程设计的认 识等内容。 6 附录(完整源程序清单):可以是手写或打印稿(注意:不能和其他同学一样) 7 报告最后附上评分表(见任务书末页) 四、检查要求: 1 每个人至少选作一题,学号末尾2位对5取余,余数对应的题号就是每个人必做题。必须 有可运行的程序,每个人要通过答辩; 2 每个人必须交《操作系统课程设计报告》(打印稿) 五、评分 1 根据平时上机考勤,且每个人必须自己动手编写程序,不得抄袭; 2 根据程序运行结果; 3 学生能熟练地解释清楚指导老师对自己程序的提问; 4 课程设计报告完成的质量和规范; 六、时间、地点安排 "日期 "6.25 "6.27 "6.28 " "时间 "8:00-12:00 "8:00-12:00 "8:00-12:00 " "地点 "E511 "E511 "E511 " 七、课程设计题目 0. 进程调度算法的设计 设计要求: A.设计进程控制块PCB表结构,分别适用于优先数调度算法和循环轮转调度算法。 B.建立进程就绪队列。对两种不同算法编制入链子程序。 C.编制两种进程调度算法:1)优先数调度;2)循环轮转调度 1. 银行家算法设计 设计要求: 编制银行家算法通用程序,并检测所给状态的系统安全性。 2.题目:页面置换算法模拟设计 设计要求: 计算并输出下述各种算法在不同内存容量下的命中率。 A.FIFO先进先出的算法 B.LRR最近最少使用算法 C.OPT最佳淘汰算法(先淘汰最不常用的页地址) D.LFR最少访问页面算法 E.NUR最近最不经常使用算法 3.题目:可变内存管理模拟 设计要求: A.功能:内存初始化;分配作业内存;回收内存;显示作业列表;显示空闲内存。 B.编制两种内存分配算法:1)最佳适应算法;2)最坏适应算法。 4.题目:作业调度模拟 设计要求: A.加深对作业概念地理解。 B.掌握短作业优先调度算法。 C.深入了解批处理系统如何组织作业、管理作业和调度作业。 D.了解作业控制块的作用,以及作业控制块的内容和组织方式。 目录 一、系统功能需求分析 6 二、系统总体设计 7 1、设计的基本原理 7 2、系统的总体框架设计 7 3、系统功能模块图 7 三、系统详细设计 8 1、系统总体详细设计 8 2、系统各模块详细设计 9 (1)主函数模块 9 (2)创建JCB作业控制块 11 (3)信息输入模块 11 (4)随机产生作业到达时间和服务时间模块 12 (5) 计算模块 12 (6)对比模块 13 (7) 信息输出模块 14 四、运行结果及结果分析 15 1、运行结果 15 2、运行结果分析 17 五、总结 17 六、附录 18 七、评分表 22 一、系统功能需求分析 作业调度是对成批进入系统的用户作业,根据作业控制块的信息,按一定的策略选取若 干个作业使它们可以去获得处理器运行的一项工作。而对每个用户来说总希望自己的作 业的周转时间是最小的,短作业优先(SJF)便是其中一种调度方法。 本设计是为了加深对作业概念的理解,掌握短作业优先(SJF)调度算法,深入了解批处 理系统如何组织作业、管理作业和调度作业,了解作业控制块的作用,以及作业控制块 的内容和组织方式。 为了将系统中的作业组织起来,需要为每个进入系统的作业建立档案以记录和作业相 关的信息,例如作业名、作业所需资源、作业执行时间、作业进入系统的时间、作业信 息在存储器中的位置、指向下一个作业控制块的指针等

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值