数据库应用软件开发前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
相关文章
|
13天前
|
SQL 数据库
数据库开发之子查询案例的详细解析
数据库开发之子查询案例的详细解析
12 0
|
13天前
|
SQL 数据库
数据库开发之子查询的详细解析
数据库开发之子查询的详细解析
18 0
|
13天前
|
SQL 存储 数据库
数据库开发表操作案例的详细解析
数据库开发表操作案例的详细解析
7 0
|
13天前
|
SQL 存储 关系型数据库
数据库开发之图形化工具以及表操作的详细解析
数据库开发之图形化工具以及表操作的详细解析
28 0
|
3天前
|
存储 运维 Kubernetes
多态关联在数据库设计中的应用和解决方案
多态关联在数据库设计中的应用和解决方案
11 0
|
5天前
|
存储 算法 数据库
矢量数据库在图像识别与检索中的应用实践
【4月更文挑战第30天】本文探讨了矢量数据库在图像识别与检索中的应用,通过特征提取(如SIFT、SURF)、编码和相似度度量实现快速识别。在图像检索流程中,经过预处理、特征提取和编码后,矢量数据库用于查询相似特征,排序后展示给用户。实际案例显示,矢量数据库能提升电商平台的商品图像搜索效率和用户体验。随着技术发展,这一领域应用前景广阔。
|
5天前
|
机器学习/深度学习 搜索推荐 数据库
矢量数据库的未来发展趋势:新技术与应用展望
【4月更文挑战第30天】随着AI和机器学习的发展,矢量数据库在处理非结构化数据方面的重要性日益增强。预测到2028年,全球矢量数据库市场将从2023年的15亿美元增长至43亿美元。未来趋势包括:并行计算与分布式架构提升处理能力,硬件加速技术(如TPU和昇腾芯片)提高性能,自适应索引机制优化查询效率。应用领域将拓展至NLP、图像视频分析和推荐系统,为各行业带来更多创新和价值。
|
5天前
|
机器学习/深度学习 存储 人工智能
矢量数据库在机器学习领域的应用与前景
【4月更文挑战第30天】本文探讨了矢量数据库在机器学习领域的应用,包括特征存储、相似性搜索、模型训练与调优及实时分析。随着AI技术发展,矢量数据库将深度融合,提升扩展性和可伸缩性,增强智能化功能,并加强安全性与隐私保护。未来,矢量数据库将在机器学习领域扮演关键角色。
|
5天前
|
存储 数据可视化 关系型数据库
矢量数据库在地理空间数据处理中的应用
【4月更文挑战第30天】矢量数据库在地理空间数据处理中展现优势,高效存储管理高维向量数据,支持快速查询、空间分析与可视化。分布式处理能力适应大数据量需求,提供高效、灵活、可扩展及可视化支持,是处理地理空间数据的理想选择。随着技术进步,其应用将更加广泛。
|
5天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在DataWorks中,“项目空间”、“数据库”和“引擎实例”之间存在怎样的关系
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
19 0