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

简介:
摘要:目前大部分的公司开发软件都不规范,开发步骤混乱。究其原因,大致可以分为两方面,一方面是客户的需求简单,公司不需要正常的软件开发步骤就可以实现,另一个方面就是公司开发软件没有规范,凭感觉开发软件,因此便会出现每天有很多的软件公司成立,同时也有许多的软件公司关门大吉的现象。针对后一个问题,笔者再次讨论规范的数据库软件开发的前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天前
|
缓存 关系型数据库 Java
不要将数据库中的“分库分表”理论盲目应用到 Elasticsearch
不要将数据库中的“分库分表”理论盲目应用到 Elasticsearch
16 0
|
3天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
16 2
|
3天前
|
SQL XML 存储
Microsoft Access 是微软公司开发的关系型数据库管理系统(
【5月更文挑战第14天】Microsoft Access 是微软公司开发的关系型数据库管理系统(
11 1
|
3天前
|
存储 人工智能 NoSQL
现代数据库技术演进与应用前景分析
本文探讨了现代数据库技术的演进历程及其在各领域的应用前景。首先介绍了传统数据库的局限性,随后分析了NoSQL、NewSQL以及分布式数据库等新兴技术的特点和优势。接着探讨了人工智能、物联网、大数据等领域对数据库技术提出的新要求,并展望了未来数据库技术的发展趋势与应用前景。
|
3天前
|
数据库
基于Jeecgboot前后端分离的ERP系统开发数据库设计(二)
基于Jeecgboot前后端分离的ERP系统开发数据库设计(二)
10 0
|
3天前
|
数据库
基于Jeecgboot前后端分离的ERP系统开发数据库设计(一)
基于Jeecgboot前后端分离的ERP系统开发数据库设计(一)
10 0
|
3天前
|
存储 NoSQL 搜索推荐
探索新一代数据库技术:基于图数据库的应用与优势
传统关系型数据库在处理复杂的关系数据时存在着诸多限制,而基于图数据库的新一代数据库技术则提供了更为灵活和高效的解决方案。本文将深入探讨图数据库的核心概念、应用场景以及与传统数据库相比的优势,带领读者一窥未来数据库技术的发展趋势。
|
3天前
|
存储 运维 Kubernetes
多态关联在数据库设计中的应用和解决方案
多态关联在数据库设计中的应用和解决方案
18 0
|
3天前
|
Java 关系型数据库 MySQL
springboot业务开发--springboot一键生成数据库文档
Screw是一个数据库文档生成工具,能自动化根据数据库表结构生成文档,减轻开发人员工作负担,支持MySQL、MariaDB、TiDB等多种数据库和HTML、Word、Markdown等格式。它依赖HikariCP数据库连接池和Freemarker模板引擎。通过在Spring Boot项目中添加相关依赖并配置,可以用代码或Maven插件方式生成文档。示例代码展示了如何在JUnit测试中使用Screw生成HTML文档。
|
3天前
|
存储 算法 数据库
矢量数据库在图像识别与检索中的应用实践
【4月更文挑战第30天】本文探讨了矢量数据库在图像识别与检索中的应用,通过特征提取(如SIFT、SURF)、编码和相似度度量实现快速识别。在图像检索流程中,经过预处理、特征提取和编码后,矢量数据库用于查询相似特征,排序后展示给用户。实际案例显示,矢量数据库能提升电商平台的商品图像搜索效率和用户体验。随着技术发展,这一领域应用前景广阔。