项目 内容
这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里 实验十一 团队作业7—团队项目设计完善&编码
团队名称 快活帮
作业学习目标 掌握软件编码实现的工程要求。

1.团队软件项目编码实现与规范:

1.包名最好都是小写。
2.类或者接口:如果是一个单词,那么首字母大写(如:Book);如果是多个单词,则每个单词的首字母大写(如:BookCar)。
3.方法或变量:如果是一个单词,那么首字母小写(如:book);如果是多个单词,则从第二个单词开始,每个单词首字母大写(如BookName)。
以上是我们团队商议出的部分编码规范,其他的包括HTML编码规范都已上传到Github《软件编码规范说明书》中。

2.团队项目github仓库地址链接:《软件设计方案说明书》、《软件编码规范说明书》以及本周已完成项目源码

3.成员具体分工及场景照片:


整个任务分为两个部分:
第一部分:对系统设计和详细设计进行改进,整理。

  • 1.杨露露:基于之前已经完成的实验,对团队项目系统设计说明书和详细设计说明进行修改完善,并编写《快活帮团队项目软件设计方案》。占整个文档任务的工作量比例:25%
  • 2.张琳:陈述软件设计准则的体现,并结合燃尽图总结本次实验执行过程,最后编写博文。占整个需求文档任务的工作量比例:24%

第二部分:团队软件项目编码实现。

  • 1.陈润菊:根据小组内成员共同商议制定出的团队项目编码规范,编写文档《软件编码规范说明书》。占整个需求文档任务的工作量比例:25%
  • 2.沙沙:代码的分析(详细分析本团队项目要在代码上做出的改变,具体到类、方法)。占整个需求文档任务的工作量比例:26%
  • 搭建并配置项目集成开发环境这一任务由团队成员共同完成。

    4.本实验执行过程(结合燃尽图):


    1.我们团队燃尽图是以卡片数为统计方式的(根据需求分析结果以及项目设计要求,将整个项目实施过程分为32张卡片)。
    2.Leangoo看板周期目前设置为2019-05-26到2019-06-12。
    3.2019-05-26到2019-05-28期间,团队成员均在有序推进工作(原因是:任务量少并且任务难度相对于整个项目来讲比较容易实现)。
    4.从2019-05-29开始到目前为止,进程推进缓慢(原因是:虽然对需求的确定以及对软件概要设计、详细设计等的改进和完善,使得团队成员更加理解和掌握了团队项目实现过程中的技术以及思想,但与此同时,任务难度增加,在预估进程的完成时间时不够准确)。
    5.目前已经初步设计了编码实现规范与原则,项目其它进程也正在努力跟进中。

    5.软件设计准则的体现:

    1.抽象:我们团队的软件项目在实现过程中用到了MVC三层架构,它的核心就是抽象的分层。而且我们将项目功能分为不同模块,每个模块负责实现自己的功能,体现了单一原则。
    2.强内聚/弱耦合/模块化:将整个项目分为管理员、用户、图书管理等模块,每个大的模块在具体实现过程中又被分为多个小模块,尽量使得各模块之间以及模块内部实现高内聚低耦合。
    3.信息隐藏和封装:在具体的编码实现过程中,利用接口或私有方法等实现信息的隐藏和封装。
    4.界面和实现的分离:首先我们借鉴相似项目的界面框架,将大致界面由相应团队成员实现,然后负责具体代码实现的成员针对界面中的具体内容进行具体实现。
    5.错误情况处理:我们针对可能出现错误或者容易出现错误的情况进行不断地测试,同时,为了尽量减少系统的漏洞,对接收的数据进行适当的处理,比如过滤掉一些特殊的字符,如单撇、双撇、空格等等,比较典型的就是在用户注册时就明确指出字符长度或禁止一些特殊字符。
    6.运行环境假设:(1)Windows7及以上所有Windows系统,且本系统不需要特定的硬件或硬件接口进行支撑;(2)IE 4.0或者更高版本的网络支持;(3)Windows 7 Server 或更高版本,以及Tomcat6.0 或后续版本;(4)Windows 7 Server 或更高版本,以及Mysql5.0或更高版本。
    7.设计方案的灵活性和数据处理能力:我们团队的软件设计方案是由团队所有成员共同商议,并针对项目的具体实现来进行合理设计的。设计方案中包括以下几点:不要将代码写死(消除代码中的常数);抛出异常(由操作的调用者来处理异常);尽量使用并创建可复用的代码;更好地实现高内聚和低耦合(提高替换能力)。
    8.设计中采用的启发式规则:采用最重要也是最基础的是“改善软件结构,提高模块独立性”,同时还有“模块功能完善化”,“设计规模适中的模块”,“降低模块接口的复杂程度”等。

    6.实验心得总结:

    软件项目的实现除了需要精确的需求分析、概要设计和详细设计等,更加需要编码阶段中的编码规范、环境配置以及编码设计准则的实现。通过本次实验,我们团队对“项目编码”有了更进一步的了解,知道编码不是单纯的编写代码的过程,而编写代码也绝对不是“只要实现功能就好了”,都需要实现一定的软件设计准则。所以,我们团队将在今后的软件设计过程中,吸取经验教训、总结以往经验知识、提高团队的整体开发能力,在发挥团队精神的同时,进行“规范”的软件设计,完善团队项目。

    《快活帮》第七次作业:团队项目设计完善&编码的更多相关文章

    1. 《你说对就队》第七次作业:团队项目设计完善&编码

      <你说对就队>第七次作业:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> ...

    2. 《毛毛虫团队》第七次作业:团队项目设计完善&编码

      一:实验名称:团队项目设计完善&编码 二:实验目的与要求 掌握软件编码实现的工程要求. 三:实验步骤 任务一:团队软件项目设计完善: 任务二:团队软件项目编码实现: 任务三:在团队博客发布博文 ...

    3. 《逆袭团队》第七次作业:团队项目设计完善&编码

      实验十一 团队作业7:团队项目设计完善&编码 内容 项目 软件工程 任课教师博客主页链接 作业链接地址 团队作业7:团队项目设计完善&编码 团队名称 逆袭团队 具体目标 (1)完善团队 ...

    4. 《hello-world团队》第七次作业:团队项目设计完善&编码

      项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7:团队项目设计完善&编码 团队名称 <hello--w ...

    5. 《奋斗吧!菜鸟》 第七次作业:团队项目设计完善&编码

      项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/10980707.html 团队名称 奋斗吧!菜鸟 作业学习目标 团 ...

    6. 实验十一 团队作业7:团队项目设计完善&编码

      实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...

    7. 实验十一 团队作业7—团队项目设计完善&编码测试

      实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...

    8. 《ABCD组》实验十一 团队作业7:团队项目设计完善&编码

      <ABCD组>实验十一 团队作业7:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

    9. Spring_Four -- 团队项目设计完善&编码测试

      团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...

    随机推荐

    1. CentOS7 通过 devstack 安装 OpenStack

      安装前的准备 修改源 (可跳过) 将下载源变更到国内可以时下载速度大大提升 打开下面的文件 vim /etc/yum.repos.d/CentOS-Base.repo 将原来的注释掉改成: [base ...

    2. 使用Sourcetree(for windows)建立github同步仓库

      回顾Linux作业中用命令行的方式管理本地与远程仓库的过程,原理图如下: 与之前本质相同,但是使用GUI的github管理工具将更为便捷,Sourcetree就是其中之一 1.在Windows下安装g ...

    3. ES6 Set求两个数组的并集、交集、差集;以及对数组去重

      并集: const arr1 = [1, 2, 3, 2, 5]; const arr2 = [1, 4, 6, 8, 3]; // 将两个数组合并 const concatArr = [...arr ...

    4. SQL Server 迁移数据库 (三)使用SQL脚本

      1. 创建脚本 1.1 在需要迁移的数据库上右击>Tasks>Generate Scrips 1.2 前两步直接Next,第三步我这里选择Save to Clipboard,因为如果选Sa ...

    5. C 指针(pointer)

      C 指针(pointer) /* * pointer.c * 指针在C中的应用 * */ #include <stdio.h> int main(void) { /* * i是一个int类 ...

    6. MySQL实战45讲学习笔记:第三十三讲

      一.引子 我经常会被问到这样一个问题:我的主机内存只有 100G,现在要对一个 200G 的大表做全表扫描,会不会把数据库主机的内存用光了? 这个问题确实值得担心,被系统 OOM(out of mem ...

    7. vue使用--环境搭建与基本项目创建说明

      桃之夭夭,思绪纷飞. 一.环境搭建 1.安装node.js(包含包管理工具npm) 安装包可以到node官网进行下载,穿梭>>> 根据自己的操作系统下载相应版本的安装包,运行后按照操 ...

    8. 转:xcode项目打不开:incompatible project version问题

      这个是xcode版本对应不上,不一定要修改版本,我们修改记录版本的文件里面的版本号就行了. 低版本xcode打开高版本xcode项目或库工程的时候就会出现,打不开的问题 解决 1可以重建创建工程,将文 ...

    9. vue中mode hash 和 history的区别

      对于 Vue 这类渐进式前端开发框架,为了构建 SPA(单页面应用),需要引入前端路由系统,这也就是 Vue-Router 存在的意义.前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求. ...

    10. STS 重写父类方法的操作

      本来这种东西真的没什么好写的,但是很多时候真的是要用到的,不知道的话自己手动敲,会累死人的.所以记录在这里,自己的笔记,有需要的赶紧拿去,省的手动录入那么辛苦. 在代码窗口点击右键,依次选择“Sour ...