项目 内容
这个作业属于哪个课程 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. 第十周计划周二&周三计划

      今天又一次被导师训了,怎么也达不到他的要求,好像我俩不在一条线上.所以现在重新整理一遍思路,继续走. 我认为重点还是主题追踪这一块,但是主题追踪的结果以及显示是个问题,目前还是打算做出来当天最热的前几 ...

    2. 安装oracle 11g及初次链接使用, 解锁及常用命令

      1. 安装方法参考原创: https://blog.csdn.net/projectNo/article/details/76533921 2.初次链接数据库时,注意以下: 1. window + r ...

    3. DRF--验证器

      前戏 在之前我们对前端妹子传来的数据进行校验,使用的是序列化类来进行校验的,但这里面往往满足不了我们的需求,更多的时候我们希望自己定义校验规则.这里介绍三种自定义校验的方式.分别是单一字段校验,多个字 ...

    4. Python调用C的DLL(动态链接库)

      开发环境:mingw64位,python3.6 64位 参考博客: mingw编译dll: https://blog.csdn.net/liyuanbhu/article/details/426123 ...

    5. Unreal Engine 4 系列教程 Part 6:动画教程

      .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

    6. (二十八)golang--二维数组

      初始化: var array [2][3]int = [2][3]int{{0,0,0},{0,0,0}} var array [2][3]int = [...][3]int{{0,0,0},{0,0 ...

    7. FFmpeg 常用API

      一.通用API 1.1 av_register_all() 初始化 libavformat 和注册所有的复用器.解复用器和协议处理器.如果不调用这个函数,可以调用下面的三个函数来选择支持的格式. 注册 ...

    8. vue自定义事件---拖拽

      margin布局拖拽 Vue.directive('drag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.qu ...

    9. Kubernetes service 使用定义

      Kubernetes service 使用定义 介绍说明 • 防止Pod失联• 定义一组Pod的访问策略• 支持ClusterIP,NodePort以及LoadBalancer三种类型• Servic ...

    10. SQL 除去数字中多于的0

      /* 除掉多于的0 */ CREATE FUNCTION [dbo].[fn_ClearZero] ( ) ) ) AS BEGIN ); IF (@inValue = '') SET @return ...