1 系统总体设计

1.1 应用背景

1.2 项目目标:包括系统登录功能,权限设置,数据录入,信息查询,报表输出,系统维护,退出功能等;

1.3 设计思路:自底向上,首先设计数据结构,然后设计表单、菜单、报表、主程序等;

1.4 系统结构图:系统的整体结构是先运行主程序,由主程序调出用户登录界面(表单),成功登录后,调出系统的主菜单,通过主菜单进入各个表单和报表,二者的数据均来自数据库中的表;

2 数据库总体设计

2.1 需求分析:系统的每个功能都要通过菜单和报表来操作数据表中的数据;

2.2 确定所需的数据表;

2.3 数据表的结构字段;

2.4 表之间的关联:通过参照完整性确保数据的一致性,建立一对多表单、报表;

3 建立项目

选择合适的开发语言和合适的IDE,建立项目;

4 建立数据库和表

4.1 建立数据库;

4.2 建立数据表;

4.3 建立表之间的完整参照性;数据库管理器---关联线右击---编辑参照完整性(打开数据完整性生成器)

5 各表单设计

5.1 布局表单控件(属性);

5.2 表单的方法和事件代码:loading、按钮的click等事件的代码;

6 菜单和工具栏设计

用户登录后会出现菜单系统,由此可以访问到系统的各个模块;

7 报表设计

8 主程序设计

8.1 建立主程序:项目管理器---代码---程序---编写代码--保存为MainPro;

8.2 设置主文件:由该文件调用应用程序中的某些组件,再由这些组件调用其他组件,主文件可以是一个PRG程序,一个表单,一个菜单,选择---项目(菜单)---设置主文件:一般来说,主文件可以具有以下的一些功能:I 对应用系统的环境进行初始化;

II 用控制事件循环的访求来实行程序调用;

III 恢复初始化前的环境;(设置主程序为主文件)

8.3 系统连编:将应用程序各个分散的部件连接在一个可执行文件或可执行应用程序;

用户对系统中的数据的操作是通过界面进行的,界面主要由表单和菜单两部分组成,主要部分是表单,表单也是面向对象编程的核心部分;

由主程序(设置为主文件)设置系统登录屏幕界面,调用系统登录表单;由登录表单---调用主程序或主界面(可以是表单,包含初始环境设置,主菜单);由主菜单调用各功能模块;

9 补充

9.1 一个完整的计算机应用系统的模块组成:主程序

系统菜单

系统登录界面

数据库

数据输入界面

数据输出界面

数据维护功能

数据检索界面

帮助功能

项目文件

9.2 数据库详细设计

9.2.1 需求分析

收集基础数据、数据流程图,把一个处理功能的数据逐步分解,直到把系统的工作过程表达清楚为止。数据字典:各类数据属性的清单:

9.2.2 概念结构设计:

E-R模型是对现实世界的一种抽象,是对实际人、事、物和概念的人为处理,宏观地抽取人们共同关心的特性,而忽略非本质的细节;

抽象机制由三种抽象方法形成:I 分类classification:

定义:某一概念作为现象世界中一组对象的类型

抽象对象:对象值和型之间的is a member of的语义;

E-R模型是的抽象:实体型;II 聚焦aggregation:

定义:某一类型的组成部分;

抽象对象:对象内部属性类型和整体与部分之间is a part of的语义;

E-R模型是的抽象:若干属性的聚集组成了实体型;III 概括generalization:

定义:类型之间的各种子集之间的联系;

抽象对象:类型之间的is a subset of的语义;

E-R模型是的抽象:子类继承超类上定义的所有抽象性质;

9.2.3 逻辑结构设计

将E-R图的一个实体或一个联系转换成一个关系模式;

9.3 应用程序开发的类型

9.3.1 单机模型:

应用程序和数据库位于同一台PC中;

9.3.2 客户/服务器模型:C/S,运行于局域网环境中的数据应用程序)

应用程序使用的数据库位于局域网服务器中,其它的计算机通过客户端应用程序访问服务器中的数据。c/s结构,应用软件被划分为客户软件和服务器软件两部分,这两部分允许安装在同一台设备上,但多数情况下被安装在网络不同的PC上,当客户软件发出访问数据库请求后,服务器软件接收这一请求;C/S模式的最大优势是把系统划分为前台和后台,在通常情况下,客户机运行前端front-end)应用程序,向用户提供界面(user interface)和显示逻辑(presentation logic),而服务器则负责访问后台数据库,并完成各种事务逻辑(transaction logic)的处理,这样每次任务都是由客户机和服务器共同完成;C/S模式的第三个成分就是连接器,它是沟通客户机和服务器的纽带,包括网卡及其驱动程序,和实施数据库访问的软件,如ODBC、ADO,使服务器成为数据库服务器。

9.3.3 浏览器/服务器模型:B/S,适用于开发internet环境中的数据库应用程序)

客户端应用程序为浏览器,客户通过浏览器访问服务器中的某个网页,如在网页中提出数据请求,该请求首先发送到web服务器,由web服务器将数据请求发送到数据库服务器,数据库服务器接到数据请求后,完成数据处理,并将处理结果返回web服务器,web服务器最后将结果返回到客户端的浏览器中,在设计网页时,可以使用ADO(activeX data object)访问VF数据库。

-End-

用mysql开发应用程序_一个典型的数据库应用程序开发流程相关推荐

  1. mysql 用户名 长度_一个 MySQL 用户名长度的坑

    今天使用 PHP 连接一个 MySQL 数据库的时候连不上,提示无权限. 因为 MySQL 是在另外一个机房,首先想到的是防火墙的原因,但使用 MySQL-cli 却能正常连接,遂排除这种可能. 又怀 ...

  2. java培训 三年_一个三年java开发经验的程序员:java学习路线

    做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的知识 ...

  3. hosts多个ip对应一个主机名_一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端...

    WebSSH 一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端.它是用Python编写的,基于tornado,paramiko和xterm.js. 特征 支持SSH密码验证,包括空密码. ...

  4. abd shell关闭所有程序_一个 Shell 脚本逆袭的规范,拿走不谢

    指定一个默认脚本解释器 "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.他指明了当我们没有指定解释器的时候默认的解释器. 为什么建议要在 ...

  5. python写tcp通信程序_一个简单的基于TCP通信的服务器端与客户端程序

    一,概述 1,客户端: 创建客户端套接字对象 和服务端套接字建立连接 发送数据 接收数据 关闭客户端套接字 2,服务器端: 创建服务端端套接字对象 绑定端口号 设置监听 等待接受客户端的连接请求 接收 ...

  6. 一个完整的嵌入式程序_放下偏见,原来嵌入式程序员如此“妖娆”!

    感兴趣的小伙伴可以来我的Java交流群,可以获取免费的学习资料 828 697 593 对Java技术,架构技术感兴趣的同学,欢迎加群,一起学习,相互讨论. 竟然都看到最后了,给小编点个关注吧,小编还 ...

  7. 11无监听程序_腾讯开心鼠英语 小程序实践与总结

    腾讯开心鼠英语 团队中有很多小程序的项目,且后续还会很多小程序的开发和迭代规划,因此我们团队是小程序的重度使用者.在小程序的开发中,团队积累了一些技术和经验,也遇到了一些困难和挑战,还踩了很多坑,因此 ...

  8. python怎么做软件程序_如何打包和发布Python程序

    如何打包和发布Python程序 在使用Python的过程中,我们经常需要做的一件事情就是通过pip来安装第三方的包.那么你是否也曾想过pip安装的包是怎么被打包并发布上去的呢?今天就来说一说Pytho ...

  9. 云服务器定时启动程序_过去、现在和未来:开发一款微信小程序的技术迭代全过程...

    2019 年 10 月 19 日,由腾讯云与微信小程序团队联合举办的"小程序·云开发"技术峰会在北京召开.23 万小程序·云开发注册账户,50 多万开发者上手使用,这是腾讯云与微信 ...

最新文章

  1. android 去除启动广告_APP启动页广告去除
  2. Weblogic 10.3.6 for linux 集群安装
  3. python下selenium模拟浏览器常见操作
  4. Android studio3.1卡顿严重
  5. 2016/4/19 ①单个文件上传 ②上传图片后 预览图片
  6. svn版本库浏览器_在SVN版本库浏览器中直接编辑文件保存后不会弹..._网络编辑_帮考网...
  7. Redis模式对比:主从模式 VS 哨兵sentinel模式 VS Redis cluster模式
  8. php随机数怎么获取?一个简单的函数就能生成
  9. ubuntu中的大小写
  10. 聊聊restful和restframework
  11. Flex【原创】惯性定位效果
  12. css实现返回顶部,实现返回顶部效果
  13. 【巧用百度地图】—百度地图生成器(直接获取代码)
  14. 关于线程 thread (1)概念简介
  15. 推荐一款免费的数据库管理工具,比Navicat还要好用,功能还很强大!
  16. liunx系统的根结构认识及命令学习
  17. Bot Chat(聊天机器人) HeroCard的简单用法
  18. qt网络编程及readyread信号
  19. 2018年总结和职场规划
  20. 无线渗透之WiFi密码的监听

热门文章

  1. Alfred添加工作流
  2. Python遥感图像处理基础篇(二):arcpy遥感图像裁剪批量处理
  3. delphi android 短信,delphi xe5 android 开发实现手机打电话和发短信
  4. 7、门禁控制系统接线原理图,如何安装布线
  5. 什么是虚拟内存?服务器虚拟内存怎么设置最好?
  6. 隐式神经表示(INRs)相关论文汇总
  7. select语句完整语法
  8. C++重要知识点总结(简答题,期末考试 面向对象难点 类和对象)精华在后面
  9. css3动画旋转360度,CSS3旋转动画(360度旋转、旋转放大、放大、移动) 用法和实例...
  10. 相似图片搜索原理介绍