文档章节

细化迭代一:[迟到很久的]软件架构设计

m
 mtlyx
发布于 2015/04/19 18:54
字数 767
阅读 33
收藏 0
点赞 0
评论 0

一、软件分层

    1、UML包图:


    2、描述:

        本次课程设计采用play框架(半路弃用ssh,架构师表示真的不想坑害队友==),为什么要使用play; 前端采用amaze ui, 戳这里是amaze ui

           view: 用户视图层,使用play默认scala template渲染模板,同时使用国产前端框架amaze ui

           cotroller:  控制器

           model: 模型

           router: 路由,负责请求方法跳转

二、接口命名规范

    (1) 各层包及类命名规范 : 

         总体原则:包名所有字母小写,类名采用 “驼峰标识”,由于paly遵循默认大于设置的设计思想,所以对各种类和方法的命名已有规定,此处遵循play命名规范;

    (2) 其它命名规范 :

         1.变量命名:  

            变量名首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写, 单词与单词之间不要使用"_"做连接,变量名访问控制必须为私有, 可以对其增加 setter与getter方法;  

         2.常量命名:  

            所有字母大写,如果有多个单词组成,单词与单词之间以” _“隔开。而且 该变量必须是公共、静态、final类型;       

         3.方法命名:  

            首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写, 单词与单词之间不要使用"_"做连接。单词不要使用名词 ; 

    (3) 前端规范:

        按照约定的文件摆放位置,命名规范遵循前端命名规范,和后台通过ajax进行交互;

    (4) 类Restful接口设计规范 : 

        1.响应请求规范:

          请求:GET: 使用url传参,如:?a=1&b=2; POST: 使用Json传参,从request.body中获取此Json,如:'{"a": 1, "b": 2}' ;

          响应:返回值格式为json,分为成功返回(ok_json)和失败返回(fail_json):

            ok_json示例:{data: {"user_id": 1},"error": "", "retmsg": "1"} ;

            fail_json示例:{data: {}, "error": "no pointer event","retmsg": "0"}

        2.接口规范:

           如/customer/add;

三、架构相关设计模式

        1、关于DAO模式:

             Play实体采用ActiveRecord模式,将Struts中的dao与pojo合并,ActiveRecord也属于ORM层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。Play也提倡使用ActiveRecord模式进行快速开发,其主要思想是:

            每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field;

            ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;

            ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑;

        2、关于MVC模式:

             如包图所示,同时采用play注解。




© 著作权归作者所有

共有 人打赏支持
m
粉丝 4
博文 4
码字总数 2887
作品 0
中山
迭代1:二、开发计划

1.2 开发计划 A. 团队成员 项目经理:吴泽标,负责整个项目的进度安排,分配任务,督促团队进度 架构师:吴泽标,设计软件的体系结构和数据模型、代码编写 分析员:陈璇斐,理解项目需求,业...

fatwowzb ⋅ 2015/04/03 ⋅ 2

MIS开发迭代1

1.1项目设想 A. 系统展望。 1、产品应用场景 (1)顾客携带所购书本到收银处通过POS机付款,收银员将顾客选购的商品逐一录入系统,系统显示最终总额,收银员告知顾客总金额,顾客选择支付方式...

fatwowzb ⋅ 2015/04/03 ⋅ 1

转一篇不错的简约开发过程定义

最近在看江南白衣的springside项目的时候,发现一篇不错的开发过程定义,可以作为希望或刚成为项目经理的同志们屡屡思路,做为参考. 1. 介绍 本文档基于Agile UP原则,从活动、工件、工具几方面...

orpheus ⋅ 2009/08/01 ⋅ 0

统一软件开发过程——RUP

RUP(rational unified process)是一个面向对象且基于网络的程序开发方法论。它是以面向对象方法为基础的方法,RUP坚持以用例驱动,以架构为中心,迭代和增量的开发方法。 下面以思维导图为...

邵鸿鑫 ⋅ 2014/01/27 ⋅ 0

敏捷开发一千零一问系列之九:总体架构什么时机进行?(上)

这是敏捷开发一千零一问系列的第九篇。(之一,之二,之三,问题总目录) 问题 总体架构设计在什么时机进行?是每个迭代做还是先做完再迭代? 这是少数几个被提到的技术问题。在两天的培训课...

疯狂的艺术家 ⋅ 2012/03/02 ⋅ 0

软件生命周期模型及其选择

瀑布模型/改进的瀑布模型  虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求->分析->设计-...

灵动生活 ⋅ 2010/02/08 ⋅ 0

软件开发方法

软件 能够完成预定功能和性能的可执行的计算程序、支持程序正常的运行、以及描述程序的操作和使用文档。 软件工程 将系统的、严格约束的、可量化的方法应用与软件的开发、运行和维护。 软件开...

learn_more ⋅ 2015/12/01 ⋅ 0

《系统分析师》学习笔记(2)

下午一知识: l 试题特点 1、 时间分配:20min(必答题)+10min(选题)+25min(选题1)+25min(选题2)+10min(复看) 2、 必答题考察基础知识,以考查新技术为主。选答题难度较大,考查...

LiuChang ⋅ 2010/04/16 ⋅ 0

架构设计的方法学

约公元前25年,古罗马建筑师维特鲁威说:“理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。”(好难...

lwaif ⋅ 2015/09/07 ⋅ 0

架构重构-好文分享

当架构模型进行迭代的过程中,必然伴随着对模型进行修改和改进。我们如何防止对模型的修改,又如何保证对模型进行正确的改进? Context 架构模型通过精化、合并等活动之后,将会直接用于指导...

青夜之衫 ⋅ 2017/12/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue-cli是什么?

vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,分为vue init webpack-simple 项目名 和vue init webpack 项目名 两种。 当然首先你的安装vue,webpack...

韦姣敏 ⋅ 17分钟前 ⋅ 0

12c rman中输入sql命令

12c之前版本,要在rman中执行sql语句,必须使用sql "alter system switch logfile"; 而在12c版本中,可以支持大量的sql语句了: 比如: C:\Users\zhengquan>rman target / 恢复管理器: Release 1...

tututu_jiang ⋅ 23分钟前 ⋅ 0

java 线程池

概述 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(...

轨迹_ ⋅ 28分钟前 ⋅ 0

Nginx的https配置记录以及http强制跳转到https的方法梳理

Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装方法: ...

Yomut ⋅ 39分钟前 ⋅ 0

SpringCloud Feign 传递复杂参数对象需要注意的地方

1.传递复杂参数对象需要用Post,另外需要注意,Feign不支持使用GetMapping 和PostMapping @RequestMapping(value="user/save",method=RequestMethod.POST) 2.在传递的过程中,复杂对象使用...

@林文龙 ⋅ 41分钟前 ⋅ 0

如何显示 word 左侧目录大纲

打开word说明文档,如下图,我们发现左侧根本就没有目录,给我们带来很大的阅读障碍 2 在word文档的头部菜单栏中,切换到”视图“选项卡 3 然后勾选“导航窗格”选项 4 我们会惊奇的发现左侧...

二营长意大利炮 ⋅ 44分钟前 ⋅ 0

智能合约编程语言Solidity之线上开发工具

工具地址:https://ethereum.github.io/browser-solidity/ 实例实验: 1.创建hello.sol文件 2.调试输出结果

硅谷课堂 ⋅ 45分钟前 ⋅ 0

ffmpeg 视频格式转换

转 Mp4 格式 #> ffmpeg -i input.avi -c:v libx264 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 -s 1......

Contac ⋅ 57分钟前 ⋅ 0

VCS仿真生成vpd文件(verilog)

VCS仿真生成vpd文件(verilog): https://www.cnblogs.com/OneFri/p/5987673.html SYNOPSYS VCS常用命令使用详解 https://blog.csdn.net/hemmingway/article/details/49382551 DVE是synopsys公......

whoisliang ⋅ 今天 ⋅ 0

Spring Boot启动配置原理

几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener 只需要放在ioc容器中 ApplicationRunner CommandLineRunner 启动流程......

小致dad ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部