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

一、团队项目系统设计改进:

1.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容:

     对于原文档中,设计图中存在的错误以及文字描述不准确的地方进行了修改。

2. 团队项目Github仓库中更新《软件系统设计说明书》:https://github.com/cy0325/Team_work.git

二、团队项目系统详细设计:

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

2.团队项目Github仓库《软件系统详细设计说明书》链接:https://github.com/cy0325/Team_work.git

3.在团队博客发布博文,陈述本次实验实施过程,描述团队成员的具体分工、占整个实验任务的工作量比例及完成各自任务的实际时间,总结中要体现每个成员的工作内容:

 姓名

任务 

  时间

 汝春瑞

 改进《软件系统设计说明书》

 2h

 曹阳

 改进《软件系统设计说明书》

 2h

 梁玉龙

 编辑博文

 2.8h 

赵红波

 编辑博文

 2.8h

 傅康

 编写《软件系统详细设计说明书》

 2.8h

 丁伟轩

 编写《软件系统详细设计说明书》

 2.8h

 

 

4.总结团队项目详细设计心得:

      在这次团队项目改进过程中,通过不断地反复地修改,发现了之前没有想到的一些问题,

5.回答以下六个问题:

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

       软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。虽然软件

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

  • 结构模型。这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。研究结构模型的核心是体系结构描述语言。

  • 框架模型。框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题结构。

  • 动态模型。动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。这类系统常是激励型的。

  • 过程模型。过程模型研究构造系统的步骤和过程,因而结构是遵循某些过程脚本的结果。

  • 功能模型。功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看作一种特殊的框架模型。

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

     C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到client端和sever端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级。升级难,可能是再做一个全新的系统。

     B/S结构,即BRower/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面通过www浏览器实现。

利用了不断成熟的www浏览器技术,结合浏览器的多种Script语言(VBScript,javaScript)和Active技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础上,比C/S有更高的要求。B/S结构的程序架构是发展的趋势,从MS的.net系列的Biz Talk2000 Exchange 2000等。

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

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

(1)模型:模型持有所有的数据、状态和程序逻辑。模型独立于视图和控制器。

(2)视图:用来呈现模型。视图通常直接从模型中取得它需要显示的状态与数据。对于相同的信息可以有多个不同的显示形式或视图。

(3)控制器:位于视图和模型中间,负责接受用户的输入,将输入进行解析并反馈给模型,通常一个视图具有一个控制器。

     优点在于:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。也就是说逻辑层面全部位于C(controller)层,另外两层专注于视图层和模型(数据层)的书写。那么很显而易见Controller层在MVC框架中起到了很重要的作用(承上启下)。 

       

 

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

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

(1)程序流程图。程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优点是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。盒图是一种强制使用结构化构造的图示工具,也称为方框图。其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
PDL的不足:不如图形工具形象直观,描述复杂的条件组合与动作间对应关系时,不如判定树清晰简单。

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

1、程序流程图的作用

    程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法、思路或算法的一种描述。

    流程图的优点:

               (a)采用简单规范的符号,画法简单;

               (b)结构清晰,逻辑性强;

               (c)便于描述,容易理解。

2、流程图采用的符号

程序流程图的画法

程序流程图的画法

程序流程图的画法

三种循环的流程图画法:

 

      C语言编程中常用的三种循环为for(;;),while  和 do-while。

     

 1.  for循环

          for循环形式: for(表达式1;表达式2;表达式3)

          流程图:

            程序流程图的画法

           图1 for循环流程图

     

 2.  while循环

           while循环形式:

                               while(判断条件)

                                 {

                                    执行语句;

                                  }

          流程图:

          程序流程图的画法

            图2 while循环流程图

      3.  do-while循环

           do-while循环形式:

                                    do
                                        {

                                          执行语句;

                                        }while(条件判断)

           do-while循环流程图:

           程序流程图的画法  

                 图3 do-while循环流程图

 

 

猜你喜欢

转载自www.cnblogs.com/Miracle-House/p/9141212.html