zoukankan      html  css  js  c++  java
  • 02组_现代软件工程_第04次作业——利用4象限原理分析自身CanTool项目的构成

    利用四象限原理分析项目构成

    一、简要说明四象限原理

       经常时期,任务很多,所以应分清主次。四象限原理帮助使用者在构建模型以及完成任务过程中区分出事情的主次。

       根据四象限原理,可以根据两种方式,将任务功能划分为两类【1】。

       根据功能的完备程度,划分为:①杀手功能②外围功能

        根据需求的有限程度,划分为:①必要需求②辅助需求

          综上总结,即为:

              1.杀手功能:开发组织所独有的优势功能。

       2. 外围功能:普遍性的功能。

               3. 必要需求:用户需要优先级为最高的需求

       4. 辅助需求:锦上添花的需求,而非必要的需求

        图1-1 四象限原理功能分析图

        应对策略:

    象限

    策略

    1象限

    利用“差异化”的策略应对

    2象限

    用“抵消”策略与大众同

    用“优化”策略与大众异

    3象限

    用“维持”法,最低代价维持功能

    4象限

    用“维持”法或者现在“不做”法等待时机

        其中,

        ①维持——致力于利用最低成本进行维持

        ②抵消——快速达到“足够好”、“和竞争对手差不多”

        ③优化——优先级最高

        ④差异化——优势功能

        ⑤不做——剪除非主干功能

    二、结合项目

       2.1概述

    2-1 整体结构图

          本系统从整体上分成3个部分:

          ①CAN总线 :与公交车相连,可以检测Bus上的信息并接收

          ②Can Tool装置:接收、发送信息与Can总线进行交互

          ③CanTool上位机:与CanTool工具进行交互的设备,主要从3方面出发。

        1. Windows 程序(MFC/JFC)
        2. IOS 程序
        3. Android App程序

    2-2 整体功能模块图

        从功能出发,主要可以划分为:

        ①收发模块:主要用来接收和传递信息,与Cantool装置进行交互

        ②处理模块:用来对接收到的数据进行解析以及加密功能

        ③设置模块:对数据参数进行设置

        ④显示模块:对数据的物理信息进行显示

        ⑤贮藏模块:对相应的数据进行持久化操作

        ⑥同步信息模块:将部分信息同步到硬件或者管理系统的网站上。

      2.2详述

        2.2.11象限:差异化

          A.数据的接收的算法设计

    2-2-1 -1 数据的接收功能结构图

    2-2-1-2 数据的接收功能原理图

            目前,设计主要是和硬件设备进行交互,但是为了以后的功能扩展,在程序实现方面设计扩展的接口以便可以和硬件设备进行交互。

            对于接收器以及发送器,使用Socket编程,需要确认出服务器端以及客户端。在本系统中,需要明确二者的所处位置。

            接收器相当于服务端,发送器相当于客户端,作为App需要同时具备两种角色功能,因此就需要设计软件的收发管理模块。从而对二者进行管理。

          B.数据的解析的算法设计

    2-2-1-3 数据的解析功能的类图

      由于硬件设备和App之间的数据传输方式,最快捷以及最简单的方法是字符串传输,所以在App中需要编辑相应的功能模块从而对数据的格式以及数据信息进行相应的截取和处理。

      此处,为了适应软件工程中所提出的“高内聚、低耦合”的特点,选用的设计模式为Template Method的委托的概念,利用MVC设计模式的整体结构,将视图、对象、控制进行分离,从而更加有利于管理。

     

          C.数据的解码的算法设计

     

          

    2-2-1-4 数据的解码的ER

        此方法涉及到参照表的选择,其中对于数据的读取,使用数据库比较方便,因为SQL语句属于结构化查询语句,会比在文件或者其他存储方式进行数据的匹配更加的快速和便利。

          2.2.22象限

            抵消:

          1. 数据的接收的基本功能
          2. 模拟CanTool发包的工具
          3. 模拟CanTool接包的工具

            优化:

          1. CanTool Android App的接收蓝牙传输信息的工具
          2. CanTool Android App 的网络数据解析的算法、功能模块的设计、模式使用
          3. CanTool Android App 的数据解密的算法、功能模块设计、模式使用

          2.2.33象限(维持)

            整体功能的业务流程的进行

    2-2-3-1 整体的功能运行原理图

    2-2-3-2 整体运行的数据流图

            其中,在原型程序中,需要整体功能的完整性,即可以运行即可。对于如何进行优化需要在第二版中进行产品的更新以及版本的迭代性的编程。

           2.2.44象限(维持、不做)

            

    2-6 扩展功能原理图

            对于利用蓝牙进行整体流程的模拟,CanTool可以通过PC蓝牙接口与手机App进行沟通。单点对单点以及单点对多点进行相应的数据的传输以及交互。

    分享github地址:https://github.com/LeeYuxuan1104/HelloWorld/blob/master/4room_request_statement.docx

     

    参考文献

    【1】邹欣 《现代软件工程-构建之法(第三版)》 2017.03 人民邮电出版社

  • 相关阅读:
    VOA 翻译研讨:2009.2.26 教育报道——在美国学习:网络重新阐释学院之旅
    javac Java 编程语言编译器的使用文档
    在Eclipse中集成Ant编程之配置篇
    ANT使用范例
    MySQL实用命令
    [转]java多线程同步
    Perl 教学 列表和数组变量
    MySql常用命令总结
    MySQL 备份和恢复
    log4j配置详解
  • 原文地址:https://www.cnblogs.com/LiYuxuan1104/p/LeeYuxuan1104_04.html
Copyright © 2011-2022 走看看