《Blue_Flke》团队项目ruanjian系统设计改进

实验内容与步骤

团队项目系统设计改进:

任务1:自学教学课件中5.4节面向对象设计方法,根据OOD设计准则修改完善团队项目系统设计说明书

  在上一次的项目系统设计说明书中没有很好的完成软件系统结构模型的建模设计,只做了基本的系统项目原型模型,项目系统结构的整体设计不够完善。没有设计有关类的一些模型及各类中的关系,这次我们针对上一次的设计功能UML模型图进行了改进,添加了类与类之间的关系,原本的UML模型图描述了项目的功能作用,没有展示出项目的设计流程和实现路线图,改善后的流程图加入了设计实现路线,对于系统功能进行了更为详细的展示。

 GitHub的链接地址:https://github.com/13993013291/ruanjianguigexuqiu/tree/master

团队项目系统详细设计:

任务2:在OOD的软件项目详细设计阶段,开发团队将进一步细化分析系统设计模型,精化类的属性和操作,详细定义类中服务的参数和具体实现逻辑,依据软件开发环境调整类的层次关系和关联关系,定义软件数据库表结构等等。请采用适当的建模方法完成团队项目的系统详细设计。

团队项目软件系统详细设计说明书

1. 引言

1.1编写目的

  编写本说明书的目的在于说明用户对《通讯录管理系统》的应用方法,描述《通讯录管理系统》的需求模型、功能和性能要求以及其他约定,以便用户能够很准确的需求以及操作,具体说明了软件的界面原型以及类图等,方便用户简易操作。  

1.2 背景

  该文档介绍的产品是通讯录管理系统,这个系统的适用对象是手机用户,这个软件解决了市场上的通讯录管理系统占用内存大的问题,方便用户管理联系人。

1.3 参考资料

  1、系统软件需求规格说明书.pdf.zl5aqwp

  2、软件设计详细说明书

2.任务概述

2.1 目标

  1. 信息记录:可以根据用户的需求记录和读取用户的通讯资料
  2. 提高效率:对联系人进行有效的管理
  3. 优点:占用内存小,容易操作,换手机时不用导入,可以直接登录获取联系人信息
  4. 可以直接跳转到社交APP进行通讯

2.2 用户特点

  1. 联系人数量大,且联系人信息量多
  2. 手机内存小,希望管理系统有简洁界面  

2.3 假定和约束

假定:

  1、用户对此系统比较认可,使用用户量大

     2、易于维护,可以转接到大部分社交软件

约束:

       1、目前我们尚无正规的编写过一个软件,经验少

       2、相对团队来说,技术不是特别的成熟

       3、时间相对不是很充裕

       4、无资金支持

3.需求规定

3.1 对功能的规定

3.1.1 主要功能

  通讯录的读取、通讯录的存储

3.1.2 功能描述(详细)

  <1>通讯录的读取:要能实时且正确的读取通讯录文件的联系人信息。

  <2>通讯录的存储:能够正确的按照用户的需求存储通讯录信息和及时更改和的通讯录信息。

  <3>通讯录的排序:在正确读取通讯录的情况下,根据用户的要求对通讯录实现按姓名排序、按电话号码排序,从而能让用户更为方便的使用通讯录。

  <4>删除联系人:在正确读取的情况下,根据用户的需求对通讯录中的联系人进行删除操作,然后从新更新通讯录文件。

  <5>增加联系人:在正确读取通讯录的情况下,根据用户的要求对通讯录增加联系人,并及时更新通讯录文件

  <6>编辑联系人:在正确读取通讯录的情况先,根据用户的要求对通讯录中的联系人进行编辑,然后对通讯录文件进行更新。

  <7>加密通讯录:在读取的时候需要对通讯录进行密码验证,对于新建立的通讯录根据用户要求进行加密操作。

  <8>转接到社交APP

3.1.3 用户界面

登录界面:

系统主界面:

添加联系人:

 系统修改界面:

 

删除联系人:

系统登出界面:

4.运行环境规定

4.1 设备

  硬件设备:手机;

  软件设备:Android操作系统以及IOS操作系统

4.2 开发环境

  Windows10 操作系统   java语言   eclipse

4.3 界面要求 

  <1>要求整体界面和谐美观,简洁大方

  <2>要有菜单栏,能对整个通讯录进行一些相应的操作和错误处理

  <3>对于一些基本操作的控件能在界面上列出来

4.4 其他需求

  <1>可使用性:要求软件容易使用,适用于任意人群

  <2>安全性:对于通讯录在拥有者不允许的情况下其他人不得访问他人的通讯录,保证通讯录的保密性。

5验收总结

  • N(need):

    现在的手机软件自身占据的内存很大,对于手机内存小的用户来说,需要一款不用占据很大内存的软件。

  • A   (approach):

    我们决定开发一款自身内存很小的,拥有基本的联系人增加、修改、删除、合并等功能的基于安卓系统的web版应用软件。

  • B(benefit):

    对于手机内存很小的用户来说,可以很大程度上节省手机内存,可以创建桌面快捷方式,可以实现手机自带的通讯录的全部功能。

  • C(competitors)

    我们的初衷来自于我们自身使用的手机通讯录系统,该系统占据内存很大,且功能繁多,有很多不实用的功能,在很大程度上浪费了手机内存,但同时,也有很多此类的软件,很受用户青睐,在一定程度上,存在很大的竞争。

  • D(delivery):

    我们会首先让一部分人使用我们的软件,然后根据反馈,做出相应的调整,然后再使用,再接着调整,直到没什么大问题之后,再通过啊传单、发说活的路劲进行宣传。

团队成员的具体分工及占整个需求文档任务的工作量比例

用户调研统计及解决问题

牛瑞鑫

15%

3天

总结及撰写博客

王胜海

15%

4天

需求调研建模及建立模型

邓英蓉

20%

3天

制作问卷调查及调查

马中林

15%

4天

软件原型设计

妥志福

15%

1天

用户需求分析规格说明书

董润园

20%

3天

总结与设计心得

  通过此次的问卷调查更加明确用户对软件需求的具体期望,收集了各方资料,为软件的继续开发提供了很大的帮助,并就一些很疑惑的问题得到答案,对软件的设计有了更大的自信心,这次主要应用UML模型工具,可以一一列举软件能实现的所有功能,初步判断再设计过程中可能遇到的困难,更系统的设计,总结各个模块的具体实现方法,通过这次实验,发现原型法在软件设计中的作用是巨大的,可以节约人力、物力等。总的来说这次调查为我们团队在接下来的工作中指明了更加明确的方案。

回答以下六个问题:

(1)何谓软件体系结构、软件设计模式?

        软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。
软件设计模式就是Uml统一建模语言的技巧性概念。主要研究各个类模块和接口之间的安排与搭配,也是为程序员提供交流的一个很好的平台。

    软件设计模式,又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

(2)什么是C/S与B/S结构?

       C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。

  B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

(3)  什么是MVC设计模式?

  MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)

  • 控制器Controller- 负责转发请求,对请求进行处理。
  • 视图View - 界面设计人员进行图形界面设计。
  • 模型Model - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

(4)结合项目系统设计体验,简要说明(1)、(2)、(3)的内容与软件系统设计的关系。

      框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

  设计模式仅是一个单纯的设计,这个设计可被不同语言以不用方式来实现;而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。框架一旦设计成形,虽然还没有构成完整的一个应用,但是以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。

(5)详细设计的常见工具有哪些?

  1> PDL描述的总体结构和一般的程序很相似,包括数据说明部分和过程部分,也可以带有注释等成分。但它是一种非形式的语言,对于控制结构的描述是确定的,而控制结构内部的描述语法不确定,可以根据不同的应用领域和不同的设计层次 灵活选用描述方式,也可以用自然语言。用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。

  2>PAD图所描述的程序结构十分清晰。图中最左边的竖线是程序的主线,即第一层控制结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数;结构唯一、易于编制、易于检查和易于修改的详细设计表现方法。用PAD可以消除软件开发过程中设计与制作的分离,也可消除制作过程中的"属人性"。虽然目前仍需要由人来编制程序,一旦开发的PAD编程自动化系统实现的话,计算机就能从PAD自动编程,到那时程序逻辑就是软件开发过程中人工制作的最终产品。显然在开发时间上大大节省,开发质量上将会大大提高。

  3>盒图(boxplot):摆弄数据离散度的一种图形。它对于显示数据的离散的分布情况效果不错,在软件工程中,Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具叫做盒图,也叫做N_S图。PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。

  4>程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优点是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数据。

(6)如何绘制符合规范的流程图?

规范一:字体、字色、格式、底色等保持一致;

规范二:尽量表达出流程的六大要素;

规范三:操作及语言描述要简洁清晰,一目了然;

规范四:动作环节要用准确的动词来描述;

规范五:流程衔接处应该着重描述;

其他细节规范:https://wenku.baidu.com/view/a785d0f1e2bd960591c67743.html

猜你喜欢

转载自www.cnblogs.com/ruanjgc/p/9143526.html