团队作业(二)

1 概述

1.1 开发背景

  随着电子设备的普及,人们逐渐习惯了利用手机拍照和备忘录来记录我们所要记录的内容,所以我们团队对此现象开发了一个笔记软件,记录生活中所需要记录的内容。

 

1.2 开发目标

  基本功能:1.新笔记,大家创建一个新笔记并记录你所需要记录的内容。2.查找笔记,文件太多时,用户可以输入时间或者主要内容就可以找到当时记录的笔记。3.删除笔记,用户可以删去没用的笔记。

  程序操作简单,易使用。

1.3 参考资料

  《构建执法》(第二版)邹欣,人民邮电出版社;

1.4 设计原则

  设计时将功能封装在类里,可以随时添加新功能。

2 需求分析

2.1 需求陈述

  该程序可以完成新笔记的记录,查找你所写过的笔记,删除没用的笔记,操作简单方便。

 

2.2 操作用例

  操作用例分为主界面,查找和删除。

2.3 功能分析划分

  各部分功能在下图会给出。

 

3 总体设计

3.1 系统建模

3.1.1 层次方框图

3.1.2  ER图(实体-联系图)

 

 

3.1.3 类图设计

 

 

 

 

3.2 数据库结构设计

  这次我们没采用数据库来设计,我们主要思路就是讲笔记保存在文本文档中,再通过调用文本来打开这内容。

4 详细设计

4.1 程序流程图

 

4.2 伪代码编写

  基于要编写笔记记录软件,我们先编写了一个class Note。将其作为#include"Note.h",为了不让大家编写时重复,我们定义了如下

#ifndef Note.h

#define Note.h

......

#endif

类中有构造函数Note(),此函数中我们编写了初始界面。

void CheNote();此函数功能为查找,用户可以在搜索中添加关键字来搜索。

void DelNote();此函数为删除功能,我们将所有笔记日期赋值给了string指针。通过他来查找到文档中指定时间段的内容并删除。

还有些小函数不做解释,可以看上传的代码。

5 实现

5.1 编码

5.1.1 代码约定

  1.我们将类作为单个文件#include“note.h”,也考虑使用模块Template <class T>。

  2.对于大家可以使用的数据类型定义为extern data;。

  3.对于注释要求简洁明了,使用户能够快速了解。

  4.类和函数编写时不要过长,多使用继承。

    5.减少代码嵌套。

5.1.2 代码编写原则

  1.函数最短原则(不多于30行)。

  2.变量单一职能原则(一个变量只允许承担一个责任,针对每次赋值,创建一个独立。对应的临时变量。循环变量和收集结果变量除外)。

  3.函数单一职能原则(一个函数只做一件事情)。

  4.for循环单一职能原则(一个for循环只做一件事情,也许你会考虑效率问题,但不经过测试是没有发言权的)。

  5.三次原则(事不过三,三则重构)。

5.2 测试要点

5.2.1 主界面测试要点

 

选择是后笔记就会保存在文档中,查询文档时就可以发现已经保存在文档中了。

5.3 测试结果和总结

 测试结果是看文档中的内容是否已经保存或者已经删除。

 

总结:这次我们用的是c++编写,在黑黢黢的DOS窗口下运行,但是看完大家完成的我们发现与别人的差距很大,大部分人使用了java以及在eclips环境下编写的app,我在接下来会学习windows编程来提高自己的能力。

  开始要实施测试了,一边写测试用例一边执行,如果可以最好是先写测试用例然后执行,没时间写完整的用例时,可以列出需求点,针对每个需求点来进行测试。同时在执行中及时的补充与修改, 要整理出对功能中不明白之处,可以找相关人员可以是PM沟通。这个一定要坚持直到得到明确的答案。学会换位思考,将自己当成客户这是非常重要的,在测试中你可能会发现,有时无法关注测试的重点。有时客户表达的需求,开发团队所理解的需求,以及客户真正使用时的需求,有重大的差别;这时你需要静下心来,将自己当成客户,如果是客户他会怎样来操作这个界面,同时他要这个功能主要想完成哪些工作,如何才能更方面操作、更快捷的完成工作。

6 维护

6.1 维护方法

  软件维护阶段是软件生存周期中的最后一个阶段,是一个重要的阶段,有很大的挑战性,迎接这些挑战需要技巧和方法。文章分析了软件维护的几种类型,不同类型的维护工作针对不同的工作内容,所占工作比重也不同,并分析总结出维护工作的特征,为管理软件维护工作打下基础;分析论证了软件维护的重要性,维护人员实际做的是幕后英雄的工作,也有很大的挑战性和成就感;最后,结合作者在软件维护管理和工作中的实践,总结出做好软件维护的几点实用的实践经验,改变对维护工作的认识是做好维护工作的前提。

  在系统开发阶段已发生而系统测试阶段尚未发现的错误。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行:而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。例如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。

 

6.2 功能拓展方法

  软件完成后,用户可能需要更多的软件功能,这样我们就需要给软件功能进行拓展。为了估计软件维护的有效程度,确定软件产品的质量,并且确定在维护中的实际开销,所以在功能拓展中应当做好事先的拓展方案以及市场调查。

  如果要添加功能的话,只要在类里添加相应的函数内容来满足用户的需求。如可以将所记录的笔记分成更多的模块,生活类、学习类、感情类等等。

  本次在写代码时没有加入用户设置密码的内容,所记录的笔记可能存在安全问题,我们会添加此功能来消除次隐患。

 

 

posted @ 2016-11-30 16:56  ------=_=---  阅读(182)  评论(0编辑  收藏  举报