• 软件系统设计思路


    拿到一份需求,项目负责人是怎么想的?整个项目的架构设计和思路又是怎么样的?希望能有大师能够指点一下迷津。 下面是我转载的一篇文章,大家也可以指出哪里可以补充或者需要特别指出来的。谢谢。

    要设计一个面向对象的系统,建议遵循如下思路:  

    1.  调研,完成一份详细的需求文档

       (1)系统要实现什么功能

       (2)性能上有什么特别的要求

       (3)哪些是技术难点,可以的话对技术难点首先测试攻关

    2.  确定系统的运行环境

       (1)系统运行的操作系统:widows,linux,unix等

       (2)使用何种编程语言:c/c++,java,C# 等

       (3)使用何种界面交互环境:console,MFC,WTL等等

       (4) 需要使用哪些第三方库:如 openCV,STL,Boost等

    3.  划分系统模块,设计总体框图

       (1)整个系统从大的方向来划分的话,可以分为哪几个模块,每个模块又可以继续划分为哪几个小模块。

       (2)每个模块的提供的功能是什么

       (3)模块之间怎么交互

    4.  分析模块的需求,抽象出实现模块功能的各个类

       (1)本模块可以设计哪些类,哪些类是作为本模块对外的接口?

       (2)模块内部的类之间怎么交互?模块间的类之间怎么交互?

       (3)类的设计时,需要考虑是否可以通过继承、组合等方式简化设计

       (4)画出简单的UML设计图

    5.   设计每个类的属性和方法

        (1)每个类有哪些成员变量?提供哪些功能函数?

        (2)哪些功能通过继承获取,哪些功能需要用到重载,哪些功能需要利用多态?     

        (3)完成类的头文件的定义

    6.   实现每个类的功能及集成测试

        (1) 编码实现每个类的功能

        (2) 根据前面的设计,完成类之间的交互代码,实现系统所需要的功能

        (3)集成和测试,优化代码,修改bug

  • 相关阅读:
    python爬虫统计上证指数周、月涨跌现象
    python每日一题:采用正则表达式,beautifulsoap,xpath爬取网站数据
    谈股市与月份的关系
    python之正则表达式
    python每日一题:使用代理服务器爬虫
    python之cookie使用
    python每日一题:爬虫入门之利用xpath查找网页元素节点
    python每日一题:制作网页,与女朋友的点点滴滴
    【Java基础】Java11 新特性
    【Java基础】Java10 新特性
  • 原文地址:https://www.cnblogs.com/hofmann/p/5235274.html
Copyright © 2020-2023  润新知