购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.2 软件设计的任务和步骤

软件设计的流程一般分为三步。

1)前提,在软件需求分析阶段弄清楚要解决什么问题,并输出《软件需求说明书》,这时一切都是理想。

2)概要设计阶段,重点说清楚总体实现方案,确定软件系统的总体布局、各个子模块的功能和模块之间的关系、与外部系统的关系,并包含一些研究与论证性的内容,并输出《软件概要设计说明书》,这时一切都是概念。

3)详细设计阶段,重点说清楚每个模块怎么做,是程序的蓝图,确定每个模块采用的算法、数据结构、接口的实现、属性、参数,并输出《软件详细设计说明书》,这时一切都是实现。

软件设计的任务和步骤分为以下5点。

1.制定规范

在进入软件开发阶段之前,首先为软件开发组制定在设计时应该遵守的标准,以便协调组内各个成员的工作,具体任务包括:阅读和理解软件需求规格说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现;根据目标确定合适的设计方法。

此步骤要确认需求并确定合适的设计方法。例如,对于一个简单的基金软件(如图4.2所示),只需要基金名称和代码名称、基金涨跌幅,搜索、净值、排序都不需要(基础类型)。进一步,为了解决用户选择的自选股过多导致无法直接看到自己最关注的那个基金,需要增加置顶、删除(单个与多个)、拖动、搜索功能(标准类型)。更进一步,专业的炒股者和基金交易者为了使效率最大化和收益最大化,想通过便捷的工具来帮助自己(进阶类型),考虑以下几个方面。

●自选分类:自选的股票和基金能否不要混在一起?

●持仓股:持仓股票的情况目前是涨还是跌?

●组合:某个投资顾问买的几只基金不错,朋友推荐的基金也不错,怎么区分出来?

●同步:在计算机上添加的自选股,在手机上怎么没有?

●大盘行情:自选股票跌了,大盘是什么情况?频繁切换很麻烦。

图4.2 基金软件示意图

2.软件系统结构的总体设计

在需求分析阶段,已经从系统开发的角度出发,把系统功能逐次分割成层次结构,使每一部分完成简单的功能且各部分之间保持一定的联系。在设计阶段,基于这个功能的层次结构,把各个部分组合成系统。具体任务包括:采用某种设计方法,将一个复杂的系统按功能划分成模块的层次结构;确定每个模块的功能,建立与已确定的软件需求的对应关系;确定模块间的调用关系;确定模块间的接口,即模块间传递的信息,设计接口的信息结构。

如图4.3所示,银行软件系统的总体设计包括行内系统和支付系统两大子系统,通过专线与人民银行联系。行内系统包括柜面系统、贷记卡系统、核心业务系统以及其他行内系统等;支付系统包括HVPS、BEPS、客户化部分、系统监控、平台管理等。

图4.3 银行软件系统的总体设计示意图

图4.4展示了银行软件系统的体系架构,整体上从上到下分为四层:接入层、平台层、业务层和管理层。其中,接入层主要对接人民银行以及其他银行的软件系统;平台层包括过渡层和辅助层,并通过通信适配器与接入层相连;业务层是核心层,包括各种行内系统的接口、业务管理、流程控制以及大额支付和小额支付的业务管理及出错处理;管理层是支撑,包括安全控制、消息管理、通信管理、系统监控、流程管理、日志和权限管理等功能。

图4.4 银行软件系统体系架构示意图

3.处理方式设计

这一步确定为实现软件系统的功能需求所必需的算法;评估算法的性能;确定满足软件系统的性能需求所必需的算法和模块间的控制方式,如响应时间、吞吐量(即单位时间内能够处理的数据量)、精度(在进行科学计算或工程计算时的运算精度的要求)等。

4.数据结构设计

这一步确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安全性的设计,包括:确定输入、输出文件的详细数据结构;结合算法设计,确定算法所必需的逻辑数据结构及其操作等。

5.可靠性设计

可靠性设计也叫质量设计。在使用计算机的过程中,可靠性非常重要,可靠性不高的软件会导致运行结果不能使用,甚至造成严重损失。因此需要着重考虑异常处理、冗余备份等方面的设计工作。

这里结合图4.2中的基金软件说明要进行哪些可靠性设计。一是要考虑临界情况,如基金名称过长如何展示、没有任何自选产品怎么展示、自选产品最多添加多少如何展示;二是考虑特殊标识,如基金和股票是同一支代码、某只股票停牌、股票涨跌幅为0、沪港通标的股票、处于封闭期的基金等;三是考虑账户关系,如自选产品保存在本地还是依托账户、是手动还是自动同步、在同一个手机上切换账户时自选股如何同步。 8hn3eWobQ5eZe730bhXN3cRFVKOZElTbG/WPVlYM7JwasnkjoHpL+3JHpdT4JmGc

点击中间区域
呼出菜单
上一章
目录
下一章
×