摘要:目前大部分的公司开发软件都不规范,开发步骤混乱。究其原因,大致可以分为两方面,一方面是客户的需求简单,公司不需要正常的软件开发步骤就可以实现,另一个方面就是公司开发软件没有规范,凭感觉开发软件,因此便会出现每天有很多的软件公司成立,同时也有许多的软件公司关门大吉的现象。针对后一个问题,笔者再次讨论规范的数据库软件开发的前3个步骤。
下面简要概述一下数据库软件开发的周期:数据库软件开发的周期主要包括:数据库规划,系统定义,需求的收集和分析,数据库设计(逻辑设计和物理设计)同时伴随着应用程序设计,实现,数据转换和加载,测试,操作性维护。在本篇文章中主要介绍前3个步骤,即数据库规划,系统定义和需求收集与分析。这三个步骤之间是一次进行的,他们之间不会有循环重复出现,因此可以作为一个整体来介绍。
第一步:数据库规划:尽可能有效的实现数据库应用的各阶段的管理活动。创建数据库工程的起点是数据库系统的任务陈述和任务目标。任务陈述定义了数据库系统的主要目标,每个任务目标标示了数据库必须支持的特定任务。在数据库的规划过程中必然包含对工作量的估计,使用的资源和需要的经费,因此在数据库规划之后一个项目的报价大致也就出来了。规划数据库之前需要使用事实发现技术来获得数据库的整体需求,事实发现技术包括查阅资料,面谈,调查等多种方式。在本例子中,客户请人写了数据库应用程序的需求说明,因此在阅读需求说明的同时便可以获得数据库设计需要的大部分信息。最终得出的任务陈述是:
**公司电子商务数据库系统的目的是收集、存储、发布和控制公司以及会员产生的数据,支持面向用户的网上订单业务,协调电子商务系统和ERP系统的数据整合。
仔细的阅读需求说明的过程中得到了任务目标:
1. 维护(注册、更新和删除)会员数据
2. 维护(录入、更新和删除)产品数据
3. 维护(录入、更新和删除)客户讯价数据
4. 维护(录入、更新和删除)供应商报价数据
5. 维护(录入、更新和删除)会员对账单数据
6. 维护(录入、更新和删除)合同发货通知单数据
7. 维护(录入、更新和删除)用户投诉数据
8. 维护(录入、更新和删除)电子支付数据
9. 维护(录入、更新和删除)业务员的任务指标数据
10.    …
38.    跟踪供应商采购应付账款对帐情况
39.    实现对垃圾数据的查询
任务目标还需要进一步的调整,在和客户的工作人员多次交流和确认之后,第一步工作总算完成了大概。在软件正式进入设计阶段,有可能还会回过头来重新调整任务目标。这个过程不是一次就能成功的,但是根据这个任务目标,一个软件的大致开发费用也就有了计算的依据。
第二步:系统定义,系统定义的目的是确定数据库应用的范围和边界以及他的主要用户的视图。一个用户视图代表了数据库应用必须支持的由一个特殊的工作角色或者业务范围所定义的需求。程序边界描述了系统中的实体之间相互关系的粗略向导,他没有详细的描述每一个可能发生的事件。定义程序边界可以参考前面第一步得到的结果,或者查看文档。下面是程序边界的概要描述。
对收集到的数据进行分析,以便于定义主要的用户视图,用户视图的定义主要靠于不同角色的人谈话中得到。比如得到的普通用户的视图:
普通用户视图
1.   实现所有的元件产品和价格的查询
2.   实现所有成套产品的查询
3.   维护个人的注册信息
4.   维护成套产品的讯价单
5.   维护个人订单
6.  维护个人投诉信息
7.   跟踪个人对账单数据
8.  实现发货合同查询
9.  跟踪个人订单
当然还有其他的几个视图,供应商,业务员管理员,在次不一一显示。
第三步是需求的收集和分析:收集和分析数据库所支持的公司信息,并使用这些信息来标示新的数据库系统需求的过程。用户的需求说明详细描述了数据库中应该包含的数据以及数据的使用方式。在收集更多的用户视图相关的数据的同时,也应该收集系统的一般需求,收集信息的目的是产生系统的需求说明。系统需求说明描述了新的数据库应用中所要包含的各种特性,如网络需求,共享访问需求,效率需求以及安全级别需求。首先是管理数据库系统的用户视图:使用集中式方法或者使用视图集成式方法或者两者的综合,合并相同的视图,减少冗余。在这一步骤中需要明确数据需求,比如员工包含的信息:用户名,登陆密码,姓名,性别,出生日期,身份证号码,常用电话,手机,E_mail,注册日期
数据库系统的事务需求,可以查看第一步产生的文档,比如分为数据录入,数据更新/删除,数据查询等事务。
最后需要明确的是系统说明,主要包括:初始化数据库大小,数据增长速度等。
结论:数据库开发的前三个步骤会在后面的开发中被重复,数据库规划是系统定义和需求收集和分析的前提条件,因此做好数据库规划可以为以后的开发节省费用,也是系统能否成功开发和实施的关键。
本文转自凌辉博客51CTO博客,原文链接http://blog.51cto.com/tianli/42693如需转载请自行联系原作者
lili00okok

数据库应用软件开发前3个步骤之实例讲解相关推荐

  1. java中删除sqlite数据库语句_sqlite数据库的介绍与java操作sqlite的实例讲解

    sqlite数据库的介绍与java操作sqlite的实例讲解 发布时间:2020-10-03 05:40:34 来源:脚本之家 阅读:92 作者:Lee_Tech sqlite是啥? 1.一种轻型数据 ...

  2. php接口开发 安全_PHP开发api接口安全验证的实例讲解

    php的api接口 在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道 ...

  3. MySQL数据库实验(四):E-R图实例讲解

    目录 ER图成分构成 2 属性 3 联系 用处 E-R图转换成关系模式 1:1联系的转换 1:n联系的转换 m:n联系的转换 ER图成分构成 1 实体 实体是客观世界中存在的各种事物,或者某个抽象事件 ...

  4. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    项目介绍 一款轻量级.高性能.前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城. 完整代 ...

  5. 1使用帝国cms开发微信小程序之开发前的约定

    实战案例 博客.新闻资讯.商城 本记录适用人群: 有html,css,js前端切图的开发人员. 小程序开发其实分为两端,一端是小程序界面ui开发,另一方面是数据提供者开发. 开发所需要用到的工具和软件 ...

  6. 怎么做软件开发,软件开发流程八个步骤

    软件开发流程是指软件开发设计的一般流程,包括软件的总体结构.模块的组成.功能的设计.程序的编译.调试.联调.测试等过程.主要步骤有:项目分析.确定开发.需求分析.设计.编程.软件测试.软件交付.验收. ...

  7. 数据库(MySQL)开发技术题库

    数据库(MySQL)开发技术题库 软件工程大二下 选择+填空+简答 选择题 1.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___ A) 数据项      B) 记录      ...

  8. 浅谈企业级应用软件开发

    可能是长期在外边做项目出差久了,人都快不会玩了:今天是周末,外边天气太热,还是懒得出去,吹吹空调,写写文章,总结总结,为后来者做点贡献. 刚一气呵成了,写了个小知识点的总结,对于同行来说,没什么玩意. ...

  9. 浅析微信支付:开发前的准备

    本文是[浅析微信支付]系列文章的第三篇,主要会讲一下在开发前的一些注意事项. 浅析微信支付系列已经更新两篇了哟-,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 浅析微信支付:微信支付简单介绍( ...

最新文章

  1. Maven学习总结(四)——Maven核心概念
  2. QGLViewer编译过程
  3. 28款网页CSS设计工具和生成器
  4. 使用go来实现类似erlang otp里面的gen_server功能
  5. Tomcat的三个端口
  6. AngularJS案例:简单计算
  7. Region使用全解
  8. 做基础产品的体会【转载】
  9. Python3 学习
  10. 数据结构与算法---常用三大排序算法
  11. mcgs组态软件中字体如果从左到右变化_MCGS组态软件课件-第5章.ppt
  12. html隐藏safari地址栏,怎么隐藏 iOS Safari 打开网页时的地址栏和工具栏探索
  13. ubuntu 安装 魔霸_ROG 玩家国度 魔霸2怎么安装系统?
  14. SQL注入之布尔型盲注
  15. 2020年,你必须掌握的前端技术栈
  16. 服务器最多带多少硬盘,一般服务器的硬盘空间有多大?怎么能给那么多 – 手机爱问...
  17. Vue 正确理解mounted、beforeUpdate、updated三个钩子函数的关系
  18. Spring @Value读取配置文件
  19. 图像质量评价的方法和意义
  20. 转:关于正太分布和多维正态分布的理解(知乎)

热门文章

  1. 四川大学计算机学院卢莉,四川大学卢莉等 | 用于视频跟踪的非对称判别相关滤波器...
  2. 矩阵旋转公式备忘(左手坐标系和右手坐标系)
  3. 小米10卸载应用后无法再次安装
  4. uniapp自动保存代码
  5. 六、线性规划 两阶段单纯形法
  6. C#如何连接wifi和指定IP
  7. 请教python转Matlab的方法
  8. matlab分析能控条件,一级倒立摆MATLAB仿真、能控能观性分析、数学模型、极点配置.doc...
  9. 用Android手机的男生,女生偏爱iphone、男生多用安卓机,原因在这三点
  10. 用网络校准你的计算机时间(请转发)