美高梅官方网站66159

以及关于软件开发缺少过程规范的批评,  数据库系统的软件除了数据库管理系统之外

作者:美高梅官方网站66159    来源:未知    发布时间:2020-04-28 15:11    浏览量:

我不断的听到各种关于“软件危机”的警言,以及关于软件开发缺少过程规范的批评。我做编程工作超过15年,我认为这些言论基本上都是错的:我确信我能在很短的时间里用如今的开发工具复制出15年前一个不错的程序员开发出的东西。

数据库系统的组成如下图所示。

模仿摩尔定律和Proebsting定律(这个不像是预言,更像是挑唆),我要给出的定律是:程序员的开发效率每6年提高一倍。

美高梅官方网站66159 1

为了证实我这个定律里的数字部分,请注意下面我的发现。在1972年的《在分解模块化系统中用到的规范(On the Criteria to Be Used in Decomposing Systems into
Modules)》这篇经典论文里,作者David Parnas写道:

  1)硬件

KWIC索引系统接受一个有序的多行信息,每行由有序的多个词组成,每个词由有序的多个字符组成。每行信息都能通过把第一 个词挪到行尾这样“循环变换”。KWIC索引系统的输出是每行内容都通过字母顺序经过“循环变换”后的新行。这是一个小系统,如果不考虑特殊情况(海量数 据,没有软件支持),这样一个系统由一个中等水平的程序员来开发,能在一到两周时间里做出来。

  数据库系统的硬件包括计算机的主机、键盘、显示器和外围设备(例如打印机、光盘机、磁带机等)。由于一般数据库系统所存放和处理的数据量很大,加之DBMS丰富的功能软件,使得自身所占用的存储空间很大,因此整个数据库系统对硬件资源提出了较高的要求。这些要求是:①有足够大的内存以存放操作系统、DBMS的核心模块、数据缓冲区和应用程序;②有足够大的直接存取设备存放数据(如磁盘),有足够的存储设备来进行数据备份;③要求计算机有较高的数据传输能力,以提高数据传送率。

现在是2003年,如果一个程序员不能在一或二个小时——而不是1972年的一至二周——做出这个系统,我会认为他是个不可接受的程序员。这就建立起了一个31年里开发效率提高40倍、或者说每年12.5%提高的公式,由此而得到每6年开发效率提高一倍的结论。

  2)软件

请注意,没有一个现代程序员所使用的开发工具是专门针对KWIC系统的需求的:这个问题需要“从头解决”,所以,尽管跟1972年的时代不同,我们仍然可以这样比较。

  数据库系统的软件除了数据库管理系统之外,还包括操作系统各种高级语言处理程序(编译或解释程序)、应用开发工具软件和特定应用软件等。应用开发工具包括应用程序生成器和第四代语言等高效率、多功能的软件工具,如报表生成系统、表格软件、图形编辑系统等。它们为数据库系统的应用开发人员和最终用户提供了有力的支持。特定应用软件是指为特定用户开发的数据库应用软件,如基于数据库的各种管理软件、管理信息系统(MIS)、决策支持系统(DSS)和办公自动化(OA)等。

这种巨大的进步无疑是由于可复用的软件代码、更好的开发工具、更好的编程语言,更好的计算机教育等因素叠加的结果。但同时也是使用更快的机器、允许我们忽略掉底层的操作、使用更便捷但效率稍微次一点的解决方案的结果。

  3)数据

[本文英文原文链接:Yannis's Law: Programmer Productivity Doubles Every 6 Years ]

  数据是数据库的基本组成,是对客观世界所存在事物的一种表征,也是数据库用户的操作对象。数据是数据库系统,也是企业或组织的真正财富。数据应按照需求进行采集并有结构地存人数据库。由于数据的类型多样性,数据的采集方式和存储方式也会不同。数据作为一种资源是数据库系统中最稳定的成分,即硬件可能更新,甚至软件也可以更新,但只要企业或组织的性质不改变,数据将是可以长期使用的财富。数据库中的数据具有如前所述的集合、共享、最少冗余和能为多种应用服务的特征。

本文转载自: 外刊IT评论

  4)用户

  数据库用户是管理、开发、使用数据库的主体。根据工作任务的差异,数据库用户通常可以分成终端用户、应用程序员和数据库管理员等3种不同类型。

  (1)终端用户

  终端用户使用数据库系统提供的终端命令语言,或者菜单驱动、表格驱动、图形显示和报表生成等对话方式,来存取和应用数据库中的数据。这类人员是一些并不精通计算机和程序设计的各级管理人员,但必须接受必要的数据库应用培训。

  (2)应用程序员

  应用程序员是负责设计和编制应用程序的人员。他们通常使用C语言、数据库语言或4GL(第四代语言)等来设计和编写应用程序,供终端用户使用。应用程序员不仅要求具有较高的技术专长,而且还要具备较深的资历,熟悉部门全部数据的性质和用途,兼有系统程序员、系统分析员的能力。其具体职责是:①决定数据库的内容和结构;②决定数据库的存储结构和存取策略,使数据的存储空间利用率和存取效率均较优;③定义数据的安全性要求和完整性约束条件;④根据终端用户的需要,设计和编制各种功能强劲的应用程序。

  对于应用程序员而言,有两个重要的工具是必需的,一个是系列的实用程序(DBMS的装配、重组日志、恢复、统计等程序);另一个是数据字典(存储数据库结构的定义、记录类型和字段定义等信息)。数据库系统建立时,DBA还必须和系统分析员一起负责应用系统的需求分析和规范说明,确定系统的软硬件配置并参与数据库的设计。

美高梅官方网站66159,  (3)数据库管理员

  数据库管理员(data basead ministrator,DBA)是指全面负责数据库系统的日常管理、维护和运行的人员。DBA处于终端用户与应用程序员之间,是数据库系统能否正常运转的关键,大型数据库系统需要设置专门的管理办公室。其职责是监督控制数据库的使用和运行,实施数据库系统的维护、改进和重组,开展信息社会化服务。

  对于不同规模的数据库系统,用户的人员配置是不相同的。只有大型数据库系统才配备有应用程序员和数据库管理员。应用型微机数据库系统比较简单,其用户通常兼有终端用户和数据库管理员的职能,但必要时也应当兼有应用程序员的能力。

上一篇:没有了

更多新闻推荐

Copyright © 2015-2019 http://www.77zhth.net. 美高梅官方网站66159有限公司 版权所有