首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

怎么做实现方案

实现方案通常是系统出现问题或者需要在此基础上进行扩展而采取的一种设计形式,从结构上来说,实现方案与概要设计类似,但是实现方案更简洁,直接对应问题。接下来,我们通过一个案例来制定实现方案。

案例描述:公司现有客户管理系统中涉及到的图片、附件文件等都是存储在应用服务器上,由于业务需要,需要将文件存放在单独的文件服务器上,后续系统中如果使用上传功能,直接将文件上传到文件服务器中,应用服务器不再存放任何文件,包括客户管理系统在内的其他相关联系统都可以通过文件服务器来读取文件。

根据上面案例中的要求,我们来做实现方案。大致思路是,明确原有功能的处理方式,如果自己不太确定,就找项目的各种设计文档,再或者直接找此功能的开发者,最终要弄明白现有的处理方式是什么样的,这一步很关键也很重要,否则的话,靠猜测设计出来的功能基本不可用。然后再进行新功能的设计和分析。

针对上面的案例,可以通过原功能梳理、新功能设计、处理流程、功能实现、数据库设计、实施办法、异常处理这几个方面进行方案设计。下面以示例的方式进行说明。

原功能梳理:现有的文件操作采用的是http上传,以文件流的形式,将文件存储在服务器指定的位置上。数据库中存储的是文件的相对路径。注:原功能梳理按照实际的情况描述即可。

新功能设计:文件上传时,首先使用http方式将文件上传到应用服务器作为临时存储,然后通过ftp方式将文件发送到文件服务器,文件发送成功后删除应用服务器上临时存储的文件。数据库增加文件表,后续文件操作直接更新文件表,原有表中的文件字段保留,暂存为空。注:新功能设计主要说明都需要哪些改动,使开发人员明确要处理的事情有哪些。

处理流程:增加ftp上传公共类,当需要使用ftp上传时,调用此公共类。注:处理流程主要说明具体的解决办法。

功能实现:ftp公共类:fileftp(参数1,参数2,参数3),参数1为调用模块类型,参数2为模块编号,参数3为文件类型。调用时,先引入ftp文件处理类,引入后,在程序中直接调用即可。注:功能实现说明如何去操作,并给出具体的内容。

数据库设计:增加文件表,用于存储文件数据,表名:bv_file,字段:mod_type(模块类型),mod_no(模块编号),file_type(文件类型),file_path(文件路径)......。注:数据库设计需要给出数据库表的具体设计,可直接列出,也可以提示参照数据库模型。

实施办法:增加文件服务器,操作系统要求:linux,文件目录要求:用于文件存储的文件夹目录要有读写权限,网络要求:要与应用服务器可连通,(内存、硬盘等根据实际情况提出);程序方面,需要改动的模块包括,注册、产品、合同等,各模块开发人员排查各自负责的内容进行逐一修改。注:实施办法需要明确提出具体的资源需求,以及实施过程。

异常处理:文件ftp过程中可能会出现网络不通的情况,如果存在此情况,程序中设置异常处理,当出现异常,保存异常日志并回滚操作。注:异常处理是能想到的意外情况,如果遇到此情况如何应对。

这个案例相对简单,有些案例还需要做市场分析、可行性分析、风险分析等。所以,在实际工作中要根据不同情况及时调整我们处理问题的角度和方法。认真做好每一件事,不仅能够解决问题,还能够丰富自身的知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190912A0218G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券