软件架构论文作业

上传人:枫** 文档编号:564630414 上传时间:2022-08-05 格式:DOC 页数:7 大小:22.43KB
返回 下载 相关 举报
软件架构论文作业_第1页
第1页 / 共7页
软件架构论文作业_第2页
第2页 / 共7页
软件架构论文作业_第3页
第3页 / 共7页
软件架构论文作业_第4页
第4页 / 共7页
软件架构论文作业_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件架构论文作业》由会员分享,可在线阅读,更多相关《软件架构论文作业(7页珍藏版)》请在金锄头文库上搜索。

1、中南林业科技大学课程论文软件架构设计论文课程名称:大型软件系统架构姓名:学号:班级:电话:论述合理,分析恰当 内容完整,思路清晰,结构严谨 表达清晰,文字流畅,用词准确,无错别字内容丰富,理论联系实际,无抄袭总 分注:对号:正确、完整、详细、合理 半对号:部分正确、不完整、不详细、基本合理 错号:错误、缺失、较差 抄袭一票否决软件架构设计1.学习项目实例Jsp实现的登陆与注册应用实例2设计技巧分析2.1整个过程围绕MVC模式编写首先,利用MVC模式开发的优点:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标

2、准化;5、利于各层逻辑的复用。其次,MVC分层式结构也具有不可避免的一些缺陷:1、降低了系统的性能:如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,现在必须通过中间层来完成。2、有时会导致各层关联的修改:这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。MVC模式总体概述:MVC架构的每一部分都是定义良好和自包含的,这称为关系分离。模型中操作数据的逻辑只包含在模型中,显示数据的逻辑只在视图中,而处理用户请求和输入的代码只包含在控制器中。利用每个部分之间清晰的分离,你的应用

3、程序在其生命周期中将更易于维护和扩充,无论它会变得多大。2.2. MVC是ModelViewController的简写通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用,MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。2.2.1 Model 代表的是应用的业务逻辑(通过JavaBean来实现):课程实验编程定义了一个类包装了注册用户的相关信息以及对这些属性的相关操作,定义类如下:public class UserBeanString userName;String userPassword;/构造函数public UserBea

4、n();/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 requ

5、est, 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);Str

6、ing 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 = /re

7、sult.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.getParam

8、eter(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 use

9、rDao = new UserDao();/*将用户信息插入数据库*/elsemessage = 注册失败,请重新注册;2.3设计所用Struts技术简述:在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类,这些动作类都是Action类的子类。另外控制组件也负责用相应的请求参数填充 Action From,并传给动作类,通常称之为ActionBean。3.软件架构设计的体会心得3.1.有必

10、要对需求分析的思想和方法有透彻的理解需求的表达常常是抽象的,以一种与技术无关的方式表达,这样做的目的是为了避免解决方案对技术产生影响,需求是对业务方面的说明,而不能有任何技术实现上的偏好,产品设计的角色是把需求翻译成一个计划,按这个计划就可以构建出一个实体。如果还不太清楚要构建什么产品就开始构建了,那项目出现问题几乎是确定无疑的事情,但是,这并不等于需要完全理解需求以后才可以构建,也不意味着所有的需求都要写成书面的形式,而是意味着只有注意需求,才可能向用户提交有用和可用的产品。3.2.好的架构设计必须以深入全面的需求分析作为基础事实上架构设计是没有统一的模式的,任何模式只有针对问题才有意义。作

11、为架构设计来说,必须对需求分析有足够的理解,这样才能有针对性地解决问题,才可能设计出真正优秀的产品来。另一方面,任何架构思想的实现,都依赖于好的项目管理。项目管理必须与架构思想相匹配才能发挥作用。一个好的架构设计,必须关注成本,也必须关注时间,以期在约定的时间内、不超过规定的成本、生产出符合质量要求的软件产品来。因此,系统架构应该仔细研究现代项目管理的思想和方法,根据自己的设计思想,提出项目管理的解决方案。3.3.实现一直到项目管理都需要对软件架构有透彻的理解3.4.软件架构设计思想的优势所谓架构设计,就是关于如何构建软件的一些最重要的设计决策,这些决策往往是围绕将系统分为哪些部分,各部分之间

12、如何交互展开的; 软件架构从大局着手,就技术方面的重大问题作出决策,构造一个具有一定抽象层次的解决方案,而不是将所有细节统统展开,从而有效地控制了“技术复杂性”。软件架构为开展系统化的团队开发奠定了基础,为解决“管理复杂性”提供了有力的支持。3.5.我认为:一个设计如果必须高手云集才能生产出符合质量要求的产品,并不一定是好的架构。架构设计的目标:1、是力争以较低、现实的成本生产出符合质量要求的产品;2、以较低、现实的成本设计更好的适应变更的架构;3、事实上架构设计是不可能独立存在的,架构设计提供的是用户需求的解决方案。所以设计一个架构对需求分析的要点和关注点需要有深刻的理解,否则是不可能有好的架构设计的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号