实验十一 团队作业7:团队项目设计完善&编码1
博文简要信息表:
| 项目 | 内容 |
|---|---|
| 软件工程 | https://www.cnblogs.com/nwnu-daizh/ |
| 本次实验链接地址 | https://www.cnblogs.com/nwnu-daizh/p/10980707.html |
| 团队名称 | 你们都是魔鬼吗 |
| 作业学习目标 | (1)掌握软件编码实现的工程要求。 |
任务1:团队软件项目设计完善:
1)在团队项目Github仓库中上传文档《软件设计方案说明书》。
家庭理财APP《软件设计方案说明书》: https://github.com/201671010451/shiyanqi
2)在团队博客总结中陈述项目技术设计是如何体现下列原则的:
- 抽象:是传统逻辑用以指称现实中没有一个或一类具体事物与之相适应(即其外延不是一个或一类事物),而仅以依存于某个或某类事物的性质和事物与事物之间的关系为其反映对象的概念。与“具体概念”相对。
- 内聚/耦合/模块化:
- 内聚,高内聚是另一个普遍用来评判软件设计质量的标准。内聚,更为专业的说法叫功能内聚,是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性,反之则为低内聚性。高内聚要求软件系统中的各个元素具有较高的协作性,因为在我们在完成软件需求中的一个功能。
- 耦合,耦合就是对某元素与其它元素之间的连接、感知和依赖的量度。这里所说的元素,即可以是功能、对象(类),也可以指系统、子系统、模块。假如一个元素A去连接元素B,或者通过自己的方法可以感知B,或者当B不存在的时候就不能正常工作,那么就说元素A与元素B耦合。耦合带来的问题是,当元素B发生变更或不存在时,都将影响元素A的正常工作,影响系统的可维护性和易变更性。同时元素A只能工作于元素B存在的环境中,这也降低了元素A的可复用性。。
模块化,把数据结构和操作这些数据的方法紧密的结合在一起所构成的模块,本次设计采用模块化,能够更好地管理数据。
信息隐藏和封装:信息隐藏是目的,而封装则是藉以达到这个目的的技术。封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。
界面和实现的分离:采用MVP构架,让activity只做ui的变化,数据的展示,让presenter做数据的处理,数据的传递,让Model做数据的网络获取。这样就可以将原本全部存在Activity的成百上千行代码分离出来,增加代码可读性。只不过增加了类的个数。
- 错误情况处理:
- 变量名不存在:NameError:name 'b' is not defined
- java.lang.ClassNotFoundException(指定的类不存在):这里主要考虑一下类的名称和路径是否正确即可,通常都是程序试图通过字符串来加载某个类时可能引发异常。比如:调用Class.forName();或者调用ClassLoad的finaSystemClass();或者LoadClass()
- 索引错误:IndexError: list index out of range
- 程序模块对于运行环境、关联模板、输入输出参数有什么假设?
- 设计方案对于应对变化的灵活性:
- 程序级别的灵活性,主要通过参数化配置程序低级别的灵活性。
- 高度可配置性,包括各种虚拟机参数、属性文件和XML配置文件。
- 脚本,脚本是扩展复杂功能的利器,但对用户的要求也比较高。通常应该面向开发人员的工具产品。或者在产品部署之前由现场实施人员来完成。
- 插件系统或者模块化平台,插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点,产品可以一无用处,也可以无所不能。完全看市场有什么插件,用户怎么配置。
设计方案的数据处理能力:
(1)分析推理能力和动手实践能力
(2)数据测量和数据管理
(3)可视化分析
(4)语义引擎
(5)算法- 设计方案的软件重用情况:
- 软件重用被视为解决软件危机,提高软件生产率和质量的有效途径,近年来的软件重用研究的结果表明,基于体系结构,物定域的重用能够有很大的改进。是提高软件开发生产率和目标系统质量的重要途径。本次设计采用了源代码重用、架构重用、应用框架的重用、业务建模的重用、文档及过程的重用、软构件的重用、软件服务的重用。
- 设计中采用了哪些启发式规则?
本次设计中采用的启发式规则有设计结果应该清晰易懂;一般-特殊结构的深度应适当;设计简单的类;使用简单的协议;使用简单的服务;最小设计变动
任务2:团队软件项目编码实现,要求如下:
- 搭建并配置项目集成开发环境;
- Widnows 7操作系统
- Eclipse 安装ADT扩充套件或Android studio的安装
- Android SDK的安装
- JDK的安装
真机测试或用虚拟模拟器(genymotion、夜神)
小组内成员共同商议制定团队项目编码规范, 并在团队项目Github仓库中上传文档《软件编码规范说明书》;
家庭理财APP《软件编码规范说明书》: https://github.com/201671010451/shiyanqi
- 按照软件设计方案说明书要求,选择计算机语言协作编写软件代码,开发软件关联数据库创建程序,进行必要的代码测试;
- 项目实现
- 登录页面展示

- 测试遇到的问题
(1)代码编写有错误,导致运行不出来
(2)使用真机测试出现了闪退
(3)出现黑屏现象 - 上传本周已完成项目源码到团队项目Github仓库。
源码: https://github.com/201671010451/shiyanqi
任务3:在团队博客发布博文,结合燃尽图陈述本实验执行过程,上传团队实施本次作业的场景照片,描述团队成员的具体分工、占整个作业任务的工作量比例及完成各自任务的实际时间
- 燃尽图

- 团队实施本次作业的场景照片


团队分工
团队成员 分工 所占比例 任务实际完成时间 杨志霄 撰写博客以及编码测试 30% 4h 焦少梅 撰写软件编码规范说明书 30% 4h 王奕涵 总结项目技术设计的原则 30% 4h 王雨竹 《软件设计方案说明书》 25% 4h
任务4:总结
本次试验我们小组大家都积极参与进来,分工明确,各司其职。在系统设计中,首先进行需求分析,把系统和具体的实际的家庭中的业务结合起来,明确所设计的系统所具备的功能和解决的问题。然后通过可行性分析,从经济,技术,社会三方面进行阐述和说明系统设计的必要性和可行性,然后就是业务流程和数据流程图以及数据字典。对于要做的系统已经有了一个比较安全的了解后,再往下就是数据可和界面的设计。通过班次的作业,我们小组觉得开发一个与App的关键是需求分析,只有通过详细的调查分析,才能确定系统所需要实现的功能和解决的额问题,开发过程中的难题和和关键是业务流程分析和数据流程分析,这关系到系统整体性和完整性,是系统实现各个模块之间调用的理论基础。
*****
实验十一 团队作业7:团队项目设计完善&编码1的更多相关文章
- 实验十一 团队作业7---团队项目设计完善&编码测试
团队软件项目设计完善: 任务1:根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明. <软件设计方案说明书>:https://github.com/cy0325/Te ...
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- 实验十一 团队作业7:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...
- 《ABCD组》实验十一 团队作业7:团队项目设计完善&编码
<ABCD组>实验十一 团队作业7:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 《快活帮》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7-团队项目设计完善&编码 团队名称 快活帮 作业学习目标 掌握 ...
- 《逆袭团队》第七次作业:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 内容 项目 软件工程 任课教师博客主页链接 作业链接地址 团队作业7:团队项目设计完善&编码 团队名称 逆袭团队 具体目标 (1)完善团队 ...
- 《hello-world团队》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7:团队项目设计完善&编码 团队名称 <hello--w ...
- 《毛毛虫团队》第七次作业:团队项目设计完善&编码
一:实验名称:团队项目设计完善&编码 二:实验目的与要求 掌握软件编码实现的工程要求. 三:实验步骤 任务一:团队软件项目设计完善: 任务二:团队软件项目编码实现: 任务三:在团队博客发布博文 ...
- 《奋斗吧!菜鸟》 第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/10980707.html 团队名称 奋斗吧!菜鸟 作业学习目标 团 ...
- 《你说对就队》第七次作业:团队项目设计完善&编码
<你说对就队>第七次作业:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> ...
随机推荐
- centos7 双网口绑定
1.关闭和停止NetworkManager服务 systemctl stop NetworkManager.service # 停止NetworkManager服务 systemctl disable ...
- 推荐linux运维必备的几本书
首先,<鸟哥的linux私房菜> 鸟哥 其次,<linux就该这么学> 刘瑞版 然后,<CentOS linux系统运维> 张祥琳版 最后,<CentOS运维 ...
- JIRA数据库的迁移,从HSQL到MYSQL/Oracle
Jira数据库迁移,从HSQL到MYSQL 通过JIRA管理员登录,进入“管理员页面”,“系统”--“导入&导出”,以XML格式备份数据. 在MySQL中创建Schema,命名为jira 关闭 ...
- Redis持久化RDB、AOF
持久化的意思就是保存,保存到硬盘.第一次接触这个词是在几年前学习EF. 为什么要持久化 redis定义:Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代 ...
- Python12之列表3(列表常用操作符,以及常用的内置函数)
一.比较操作符: list1 > list2 比较两个列表的大小,Python会直接从列表的第0个元素进行比较,若相等,则继续下一个比较 得到的结果是布尔值 二.逻辑操作 ...
- BBS项目架构
数据库设计 用户表(用的是auth_user那张表,通过自定义表继承AbstractUser) phone 电话 avatar 头像 create_time 创建时间#外键 blog 一对一个人站点表 ...
- 准备写个Golang开发的教程
进入golang的开发已经差不多两年了,最近打算写个Golang的教程.目的是让有开发基础,没接触过Golang的人能够愉快高效地写出Golang项目. 1 记得17年底时候,有个特别小的项目,准备试 ...
- Springboot入门及配置文件介绍(内置属性、自定义属性、属性封装类)
目的: 1.Springboot入门 SpringBoot是什么? 使用Idea配置SpringBoo使用t项目 测试案例 2.Springboot配置文件介绍 内置属性 自定义属性 属性封装类 Sp ...
- JNI创建共享内存导致JVM terminated的问题解决(segfault,shared memory,内存越界,内存泄漏,共享内存)
此问题研究了将近一个月,最终发现由于JNI不支持C中创建共享内存而导致虚拟机无法识别这块共享内存,造成内存冲突,最终虚拟机崩溃. 注意:JNI的C部分所使用的内存也是由JVM创建并管理的,所以C创建了 ...
- puppet工作原理之模块使用
一.模块介绍 1.什么是模块 通常情况把manifest文件分解成易于理解得结构,例如类文件,配置文件分类存放,并通过某种机制整合使用,这种机制就是模块,有助于结构化.层次化的方式使用puppet,p ...