《hello-world团队》第七次作业:团队项目设计完善&编码
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2016级计算机科学与工程学院软件工程(西北师范大学) |
| 这个作业的要求在哪里 | 实验十一 团队作业7:团队项目设计完善&编码 |
| 团队名称 | 《hello--world团队》 |
| 作业学习目标 | (1)编写软件编码规范说明书;(2)开始着手编写代码。 |
Part0.简要目录
- 团队项目github仓库地址链接
- 总结项目技术设计方案如何体现软件设计准则
- 本次作业总结
Part1.团队项目github仓库地址链接
仓库地址链接:点击此处查看更新的《软件设计方案说明书》以及《软件编码规范说明书》
Part2.总结项目技术设计方案如何体现软件设计准则
项目技术设计具体实现以下原则:
1、抽象是软件设计中的重要手段和方法。其中我们在过程抽象中是把整体过程分为一个一个小块,变成独立的问题,在层次上相互独立,但又相互组合,形成复杂的系统。数据抽象中我们把数据对象的表示和数据对象的使用分离开来,这样在定义具体的数据表示时,不用关心该数据被使用的方式,两者相互独立。
2、在强内聚,弱耦合方面。如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合。使用现有的框架,合理的职责划分,使用的是接口而不是继承。
3、我们在Java中的封装通过private public protected default的关键字进行对象与方法的有效范围进行控制。把对象的所有组成部分组合在一起,封装定义程序中引用对象的数据。
4、一开始的时候,我们不继承接口。然后建一个类,声明静态的,用单例模式。这样可以实现一个程序可以实现多个数据库的切
5、错误不影响大局,不必要处理,而保证应用不崩溃更为重要;出错信息越详细越好,特别是要把函数/方法的参数值记录到log里;循环中出错,记录是循环里的哪一条记录出错,参数值如何。
6、设计方案中的几个问题。扩展开放,对更改封闭;类模块应该是可扩展的,但是不可修改;接口尽量小,但是要有限度,才能建立最小的依赖关系。软件重用方面我们有源代码和架构重用,还有各种在开源社区中选取的应用框架的重用。启发式规则有设计结果应该清晰易懂、一般/特殊结构的深度应适当、设计简单的类、使用简单的协议、设计简单的服务、最小设计变动。
燃尽图:

结合燃尽图我们可以明显的看出,在实验项目立项之后,总体来说整个团队实验较为流畅,没有出现大的偏差。但是在具体分块实验内容上我们做的还是不够,有多次在制定实验内容后没有百分百完成,出现于理想工作量较大偏差的情况。
| 团队成员的具体分工、占整个作业任务的工作量比例及完成各自任务的实际时间 | |||
|---|---|---|---|
| 姓名 | 具体分工 | 工作量比例 | 实际时间/h |
| 杨天超 | 分析项目系统设计的不足及优化、总结各成员心得 | 25% | 12 |
| 孙锦喆 | 项目编码结构规划,github的上传工作 | 25% | 12 |
| 王小倩 | 项目编码框架规划及优化、编写部分主体代码 | 25% | 18 |
| 杜娣 | 撰写《软件编码规范说明书》 | 25% | 12 |
Part3.本次作业总结


王小倩:在代码编写与优化过程中遇到的问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在实验的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次实验与课程学习之后,一定把以前所学过的知识重新温故。
杨天超:在本次实验中,因为要用到以前所做实验的成果,在使用过程中也发现了一些前面实验不合适的地方。我们及时告知团队成员相互商讨,在经过小组成员的共同讨论之后,得到了解决方案,也优化的总体项目框架。不断优化改进将是我们接下来的任务.
孙锦喆:这一次团队的系统项目制作,在经历了之前实验我意识到这是一个非常需要团队合作的过程,实验并不是单一的制作过程,而是需要将诸多的报告、分析以及编码融合成一个完整的实体。在做实验前,一定要将课本上的知识融会贯通,因为这是做实验的基础,否则,在实验进行的过程中难度会大大提高,浪费做实验的宝贵时间。软件工程的课程知识的实用性很强,所以实验就显得非常重要,我们学会了需求分析、系统概要说明书、系统设计详细说明书等,对于设计过程我们也是一再的分析、修改、再分析,对于此次实验已经有了较深入的了解。
杜娣:在本次实验中,最力不从心的方面就是代码部分,对于所分配下来的任务,完成时间也比较长,经过这次实验也深深认识到自己专业方面的薄弱,需要更加加强。
组长总结:此次项目实验,是一个把需求分析、系统设计、程序编写、撰写报告结合为一体的过程。在这个过程中,不仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有通过大家一起努力才能将此次试验的所有环节都顺利的完成。另外遇到问题并解决问题的过程,使得我们独自探索并解决问题的能力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,使得我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、系统设计、程序编写、撰写报告这些过程是环环相扣的,绝对不可能独立进行。从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
《hello-world团队》第七次作业:团队项目设计完善&编码的更多相关文章
- 《你说对就队》第七次作业:团队项目设计完善&编码
<你说对就队>第七次作业:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> ...
- 《毛毛虫团队》第七次作业:团队项目设计完善&编码
一:实验名称:团队项目设计完善&编码 二:实验目的与要求 掌握软件编码实现的工程要求. 三:实验步骤 任务一:团队软件项目设计完善: 任务二:团队软件项目编码实现: 任务三:在团队博客发布博文 ...
- 《快活帮》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7-团队项目设计完善&编码 团队名称 快活帮 作业学习目标 掌握 ...
- 《逆袭团队》第七次作业:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 内容 项目 软件工程 任课教师博客主页链接 作业链接地址 团队作业7:团队项目设计完善&编码 团队名称 逆袭团队 具体目标 (1)完善团队 ...
- 《奋斗吧!菜鸟》 第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/10980707.html 团队名称 奋斗吧!菜鸟 作业学习目标 团 ...
- 实验十一 团队作业7:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- 《ABCD组》实验十一 团队作业7:团队项目设计完善&编码
<ABCD组>实验十一 团队作业7:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- Spring_Four -- 团队项目设计完善&编码测试
团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...
随机推荐
- Linux文件误删恢复
一.需求研究 分析对比debugfs.testdisk 6.14.extundelete,对比各自官网介绍和操作说明本次决定研究extundelete对文件和目录的恢复操作. 二.项目内容 1.工具安 ...
- 将linux的root用户的家目录由/root切换为/home/root
步骤1,先以root登录,然后创建目录/home/root步骤2,vi /etc/passwd里root用户的家目录为/home/root:步骤3,cp -rf /root/ /home/将原来的ro ...
- Kylin系列(一)—— 入门
因为平常只会使用kylin而不知其原理,故写下此篇文章.文章不是自己原创,是看过很多资料,查过很多博客,有自己的理解,觉得精华的部分的一个集合.算是自己对Kylin学习完的一个总结和概括吧 ...
- vue-scroller 滑动组件使用指南
在页面中经常会用到滚动,下拉刷新,下拉加载等功能,vux的scroller可以使用,但是它不再维护,而且要配合load-more组件一起使用.所以一般在项目中我都是用vue-scroller. vue ...
- Python31之类和对象1(三大特征:多封继——多疯子)
一.对象: Python即是面向对象的编程也是面向过程的编程语言,其内部可谓是无处不对象,我们所熟知的列表,字符串等工厂函数本质上都是对象.对象其实是对属性和方法的封装. 属性是对象的静态特征 方法是 ...
- Linux基础-01-Linux基础命令
1. Linux命令的格式 1) Linux命令的语法格式: 命令 [选项] [参数] 2) 命令格式中命令.选项.参数的具体含义 a) 命令:告诉Linux(UNIX)操作系统做(执行)什么. b) ...
- Jmeter-后置处理器--json提取器
Token提取: 将token放入全局变量: 将token值设为全局变量,${__setProperty(newtoken,${token},)} 添加请求头部管理器作为全局使用,将变量token使 ...
- Cortex_m7内核cache深入了解和应用
一,cache概述 从下图可以看出,从M7内核才开始有的cache,这对于从M0,M3,M4一路走来的小伙伴来说,多了一个cache就多了一个障碍. Cortex-M7 core with 32K/3 ...
- Java 8 新特性--Lambda表达式作为方法参数
Lambda表达式的使用场景: 当方法的参数是一个函数式接口时,可以使用Lambda表达式进行简化—— 首先,前提是Runnable接口是一个函数式接口,经过查看源码得知,确实如此: 将Runnabl ...
- Powershell学习笔记:(一)、初识Powershell
什么是Powershell? MSDN上的说明是:PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言. PowerShell 可帮助系统管理员和高级用户快速自动执行用 ...