软件架构论文作业.doc_第1页
软件架构论文作业.doc_第2页
软件架构论文作业.doc_第3页
软件架构论文作业.doc_第4页
软件架构论文作业.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

中南林业科技大学课程论文软件架构设计论文课程名称:大型软件系统架构姓名:学号:班级:电话:论述合理,分析恰当 内容完整,思路清晰,结构严谨 表达清晰,文字流畅,用词准确,无错别字内容丰富,理论联系实际,无抄袭总 分注:对号:正确、完整、详细、合理 半对号:部分正确、不完整、不详细、基本合理 错号:错误、缺失、较差 抄袭一票否决软件架构设计1.学习项目实例Jsp实现的登陆与注册应用实例2设计技巧分析2.1整个过程围绕MVC模式编写首先,利用MVC模式开发的优点:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。其次,MVC分层式结构也具有不可避免的一些缺陷:1、降低了系统的性能:如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,现在必须通过中间层来完成。2、有时会导致各层关联的修改:这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。MVC模式总体概述:MVC架构的每一部分都是定义良好和自包含的,这称为关系分离。模型中操作数据的逻辑只包含在模型中,显示数据的逻辑只在视图中,而处理用户请求和输入的代码只包含在控制器中。利用每个部分之间清晰的分离,你的应用程序在其生命周期中将更易于维护和扩充,无论它会变得多大。2.2. MVC是ModelViewController的简写通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用,MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。2.2.1 Model 代表的是应用的业务逻辑(通过JavaBean来实现):课程实验编程定义了一个类包装了注册用户的相关信息以及对这些属性的相关操作,定义类如下:public class UserBeanString userName;String userPassword;/构造函数public UserBean();/setter方法/getter方法2.2.2 View 是应用的表示面(由JSP页面产生):利用jsp语句实现了具体页面功能。2.2.3 Controller 是提供应用的处理过程控制:这里用一个继承HttpServlet的LoginServlet类实现如下:public class LoginServlet extends HttpServletpublic void init(ServletConfig conf) throws ServletException super.init(conf);public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExceptionrequest.setCharacterEncoding(gbk);response.setContentType(text/html;charset=gbk);ServletContext application=this.getServletContext();HttpSession session = request.getSession(false);String action = request.getParameter(action);String message = null;if(action.equals(login)/*接收登陆表单传递过来的参数*/String userName = request.getParameter(name).trim();String userPassword = request.getParameter(password).trim();/*检验表单参数*/if(userName.equals()|userPassword.equals()elseelse/设置message,进行跳转request.setAttribute(message,message);String url = /result.jsp;forwardURL(url,request,response);else if(action.equals(register)/*获得注册表单传递过来的所有参数*/String userName = request.getParameter(name).trim();String userPassword = request.getParameter(password).trim();String userPasswordR = request.getParameter(repassword).trim();String userSex = request.getParameter(sex);String hobbies = request.getParameterValues(hobby);String userIntroduce = request.getParameter(introduce);/*对参数进行检验*/if(userName.equals()|userPassword.equals()|userPasswordR.equals()message = 用户名或者密码不能为空;else if(!userPassword.equals(userPasswordR)message = 密码和密码确认要相同;else/参数满足要求UserDao userDao = new UserDao();/*将用户信息插入数据库*/elsemessage = 注册失败,请重新注册;2.3设计所用Struts技术简述:在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类,这些动作类都是Action类的子类。另外控制组件也负责用相应的请求参数填充 Action From,并传给动作类,通常称之为ActionBean。3.软件架构设计的体会心得3.1.有必要对需求分析的思想和方法有透彻的理解需求的表达常常是抽象的,以一种与技术无关的方式表达,这样做的目的是为了避免解决方案对技术产生影响,需求是对业务方面的说明,而不能有任何技术实现上的偏好,产品设计的角色是把需求翻译成一个计划,按这个计划就可以构建出一个实体。如果还不太清楚要构建什么产品就开始构建了,那项目出现问题几乎是确定无疑的事情,但是,这并不等于需要完全理解需求以后才可以构建,也不意味着所有的需求都要写成书面的形式,而是意味着只有注意需求,才可能向用户提交有用和可用的产品。3.2.好的架构设计必须以深入全面的需求分析作为基础事实上架构设计是没有统一的模式的,任何模式只有针对问题才有意义。作为架构设计来说,必须对需求分析有足够的理解,这样才能有针对性地解决问题,才可能设计出真正优秀的产品来。另一方面,任何架构思想的实现,都依赖于好的项目管理。项目管理必须与架构思想相匹配才能发挥作用。一个好的架构设计,必须关注成本,也必须关注时间,以期在约定的时间内、不超过规定的成本、生产出符合质量要求的软件产品来。因此,系统架构应该仔细研究现代项目管理的思想和方法,根据自己的设计思想,提出项目管理的解决方案。3.3.实现一直到项目管理都需要对软件架构有透彻的理解3.4.软件架构设计思想的优势所谓架构设计,就是关于如何构建软件的一些最重要的设计决策,这些决策往往是围绕将系统分为哪些部分,各部分之间如何交互展开的; 软件架构从大局着手,就技术方面的重大问题作出决策,构造一个具有一定抽象层次的解决方案,而不是将所有细节统统展开,从而有效地控制了“技术复杂性”。软件架构为开展系统化的团队开发奠定了基础,为解决“管理复杂性”提供了有力的支持。3.5.我

温馨提示

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

评论

0/150

提交评论