1 / 73

部门通讯录

项目一. 部门通讯录. 学习目标. 软件开发项目的基本步骤 背景分析,需求分析,设计,构建,测试,移交和过渡,运行维护 基于 Oracle 数据库 的 Web 方式通讯录开发. 项目背景 3-1.

dympna
Download Presentation

部门通讯录

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 项目一 部门通讯录

  2. 学习目标 • 软件开发项目的基本步骤 • 背景分析,需求分析,设计,构建,测试,移交和过渡,运行维护 • 基于 Oracle 数据库的 Web 方式通讯录开发

  3. 项目背景 3-1 • 我院计算机系有四十几名教职工。教师工作不要求坐班,老师上完课不必呆在办公室里。为了工作中大家能够方便的进行联系,系里每年都统计大家的联系方式,包括手机号码、家庭电话,Email地址等。原来的做法是将上述信息放在一个Word文件里,大家每人复制一份。但是现在大家的联系方式变化很快,特别是手机号码。这样,大家手里的文件很难一起更新。造成的结果是信息混乱。有的老师手机号换了很长时间,在其他人的通讯录里还是旧的号码。

  4. 项目背景 3-2

  5. 项目背景 3-3 所以,我们现在准备将通讯录信息集中存放在数据库里。老师可以通过互联网查看所有人的信息,并且可以更改联系信息

  6. 需求分析 5-1 • 首先要解决的问题 • 项目的任务和目标是什么? • 需要什么功能? • 需要保存什么样的数据? • 需要什么样的运行环境? • 需要什么样的开发工具? • 安全性有什么要求? • 效率有什么要求? • … …

  7. 需求分析 5-2 • 本项目的任务和目标 • 提供给计算机系职工一个可通过互联网使用的通讯录 • 通讯录内容必须可以及时更新,能反映本系教职工最新的联系方式 • 本项目产品必备功能 • 查询所选员工信息。 • 修改所选员工信息。 • 删除所选员工信息。 • 增加所选员工信息。

  8. 需求分析 5-3 员工 # 编号 * 姓名 o 移动电话 o 办公电话 o 家庭电话 o 电子邮件 • 本项目需要保存的数据 • 如左 实体关系图( ERD )所示 • 本项目运行环境 • 服务端 • 操作系统 Windows2000/XP,Linux,Unix • Oracle 数据库(跨平台,可在不同厂家提供的计算机和不同的操作系统上运行) • 客户端 • IE 浏览器 • Firefox 浏览器

  9. 需求分析 5-4 • 本项目开发工具 • Oracle XE 10g • Oracle 数据库的微型版。 • 免费,只支持 4G 数据,1 个 CPU。 • 与Oracle 10g企业版支持相同的基本功能,在OracleXE平台下开发的应用可以直接移植到Oracle企业版的环境中去使用。 • 下载地址:http://www.oracle.com/technology/software/products/database/xe/index.html • Oracle Application Express。 • 基于Oracle的快速开发工具,在OracleXE安装时,同时自动安装 Oracle APEX 2.1 • 可升级到 Oracle APEX 3.0.1 。

  10. 需求分析 5-5 • 安全性 • 安全性要求不是非常高。 • 实现简单的口令保护就可以。 • 由于部门人员有限,彼此互相信任,所以只设一统一的用户就可以。即大家共用同一用户名/口令,并规定对部门外人员保密即可。 • 效率 • 由于使用人员有限,同时使用的情况更少,信息量很少,不需要特别考虑

  11. 设计 5-1 • 数据库设计

  12. 设计 5-2 • 界面设计 • 1.登录

  13. 设计 5-3 • 界面设计 • 2.联系人查找/创建

  14. 设计 5-4 • 界面设计 • 3.详细信息修改及删除

  15. 设计 5-5 • 测试设计 • 怎样知道项目完成了预定功能? • 何时可以结束项目? • 运行应用程序,并按如下测试计划进行测试。

  16. 构建 13-1 • 创建数据库对象 • 在 SQL Workshop 中执行: -- 创建表 CREATE TABLE a01_employees( id NUMBER(5,0) PRIMARY KEY, name VARCHAR2(5 CHAR) NOT NULL, m_phone VARCHAR2(20 CHAR), o_phone VARCHAR2(20 CHAR), h_phone VARCHAR2(20 CHAR), email VARCHAR2(60 CHAR) );

  17. 构建 13-2 • 创建数据库对象 • 在 SQL Workshop 中执行: -- 创建序列,用于自动产生连续整数,作为 employees 表的主键 CREATE SEQUENCE a01_employees_seq; -- 添加记录,增加员工信息 INSERT INTO a01_employees values(a01_employees_seq.NEXTVAL,'郭靖','13705319999','0531 88888888','0531 77777777','guojing@163.com'); INSERT INTO a01_employees values(a01_employees_seq.NEXTVAL,'黄蓉','13705319898','0531 88888888','0531 77777777','huangrong@163.com'); -- 查看所有员工的所有信息 SELECT * FROM employees; -- 提交 COMMIT;

  18. 构建 13-3 • 创建应用程序

  19. 构建 13-4 • 创建应用程序

  20. 构建 13-5 • 创建应用程序

  21. 构建 13-6 • 创建应用程序

  22. 构建 13-7 • 创建应用程序

  23. 构建 13-8 • 创建应用程序

  24. 构建 13-9 • 创建应用程序

  25. 构建 13-10 • 创建应用程序

  26. 构建 13-11 • 创建应用程序

  27. 构建 13-12 • 添加验证 • 标识验证级别: 选择 项级验证 • 标识要验证的项: 选择 EMPLOYEES: 1. P2_NAME (Name) • 选择验证方法: 选择 项不为空 • 错误消息: 填写 name 不能为空,必须填写

  28. 构建 13-13 • 添加处理 • 选择要创建的处理类别: PL/SQL • 名称 Get PK • 输入 PL/SQL 页处理: DECLARE v_pk NUMBER;BEGINSELECT A01_EMPLOYEES_SEQ.NEXTVAL next_val INTOFROM dual; :P2_ID := v_pk;END; • 失败消息: 无法获取主键值 • 在按下按钮时: CREATE • 修改处理 • “处理 EMPLOYEES 的行”的序列为 大于 “Get PK”的值,比如 20 • 注意:页面项的序列号决定其显示和处理的顺序

  29. 测试.移交.运行维护 • 测试 • 按测试设计内容进行 • 移交 • 制作数据库对象创建脚本 • 导出应用程序 • 在系网站服务器安装OracleXE • 运行数据库对象创建脚本 • 导入应用程序 • 将现有通讯录内容核实,添加到数据库 • 通知所有用户网址、用户名、口令 • 运行维护 • 信息维护 • 程序维护

  30. 熟悉 Web 页面 • 运行程序,认识下列页面项 (Item),了解其用法 • 按钮 (Button) • 激发处理或动作 • 文本条 (TextField) • 用户输入少量文本 • 下拉列表(Select List) • 用户输入选择 • 标签 (Tab) • 导航 • 面包屑(BreadCrumb) • 导航

  31. 熟悉 EditPage 页面 • Web 页面开发环境 • 页(Page)、区域(Region)和项(Item) • 都有一个序列号(Sequence) ,决定其显示顺序和位置 • 页面显示和处理的顺序 • 按序列号显示区域 • 一个区域内,按序列号显示项 • 前置计算(Computation)和处理(Process) • 页面可用前进行,如为项赋初值 • 后置计算(Computation)和处理(Process) • 页面提交后进行,如根据用户输入查找、修改数据库 • 分支(Branch) • 页面跳转

  32. 总结 2-1 • 软件开发项目的基本步骤 • 背景分析,需求分析,设计,构建,测试,移交和过渡,运行维护 • 数据库设计 • ERD 基本概念 • 实体、实例、属性、UID • 数据库基本概念 • 表、行、列、主键 • 序列 • ERD 和数据库关系

  33. 总结 2-2 • SQL • 脚本制作与执行; • 简单的SELECT,INSERT,DELETE; • 主键约束; • 非空约束 • PL/SQL • 用序列获取主键; • PL/SQL块结构,变量; • OAE • 报表和表单; • 应用程序导入导出

  34. 实体 • 了解实体非常之重要,因为这些实体关系到我们要存储什么样的数据 • 实体是: • 对业务活动很重要的“事物”,我们必须知道关于该“事物”的数据 • 一个您可以列举出一系列相似事物的名称 • 通常为名词例如:对象、事件、人 • 实体具有实例。 • 实例是实体的单一个体。

  35. 实体与实例

  36. 实体与实例 • 实体可以是: • 有形的,例如人物或商品。 • 无形的,如技术级别。 • 事件,如音乐会。 • 犬是实例还是实体? • 这要视情况而定 • 如果着眼于不同种类的动物,则动物应是实体,而犬、猫、马等是实例。 • 但是如果我们经营饲养犬类的业务呢?我们需要保存许多不同品种的犬(而不是其它动物种类)的数据。 • 对于犬饲养者来说,将犬作为实体似乎更为自然,而梗类犬、狮子犬、拉布拉多猎犬则为实例。

  37. 属性 • 什么是属性? • 像实体一样,属性可以表示一些对业务活动很重要的信息。 • 一个属性就是一条特定的信息,它用来: • 描述一个实体 • 量化一个实体 • 限定一个实体 • 为实体分类 • 指定一个实体 • 一个属性只有一个值。 • 属性值可以是数字、字符串、日期、图像、音频等。这些被称为“数据类型”或“格式”。每个属性都有一种数据类型。

  38. 属性 • 属性是单值的。 • 对于实体的每个实例, 每个属性只有一个值 (在任何时间点)。 • 易失属性 • 一些属性(如年龄)的值是时常变化的。这些属性称为易失属性。 • 非易失属性 • 另外一些属性(如订单日期)则几乎不变。这些属性称为非易失属性。 • 如果可以选择属性,请使用非易失属性。 • 例如,使用出生日期代替年龄。

  39. 属性 • 必需属性 • 一些属性必须具有值。这些属性称为必需属性。 • 例如:在大多数跟踪个人信息的业务活动中,“名字”是必需的。 • 可选属性 • 其它属性可以有值,也可以为空。这些属性是可选属性。 • 例如:除了在移动或无线应用产品中,移动电话号码通常不是必需的。 • 对于员工 • 如果要建模一个电子邮件应用程序,则电子邮件地址可能为必需属性。 • 如果要建模通讯录,则对于顾客电子邮件地址可能为可选属性。

  40. 唯一标识符(UID) • 实体的 UID • 是一个属性或多个属性的集合,用于区别同一实体的不同的实例。 • 通过哪个或哪些属性可以将一名学生与其他学生区别开来? • 这就是学生的UID。

  41. 实体关系图 • 实体关系图(缩写为ERD)是一种可用来表示数据需求的一致性工具,而与所用的数据库类型,甚至是否使用数据库无关。 • 无论系统最终建立在什么类型的数据库上,一个出色的概念数据模型都会保持不变。这就是我们所说的模型的“实现自由”。 • 即使根本不使用数据库,数据模型也应保持不变,例如数据最终会存储在几张纸上,被放进档案柜里。

  42. ER 绘图惯例 • 实体由软式方框来表示。 • 实体名显示在软式方框中。 • 实体名总是单数,并且用全大写字母表示。

  43. ER 绘图惯例 <返回> • 属性列在实体名的下方。 • 用星号标记必需的属性:“*” • 用圆圈标记可选属性:“°” • 用井号标记唯一标识符:“#”

  44. 数据库 2-1 • 什么是数据库? • 存储在计算机系统中的一组集中的、结构化的数据。 • 数据库中的数据通过软件来管理 • 这样专门管理数据库的软件称为数据库管理系统 DBMS • DBMS 可以提供在需要时检索、添加、修改和删除数据的功能。 • DBMS 还可以提供将检索到的数据转换成有用信息的功能。 • 专门负责数据库管理的人称为数据库管理员(DBA) 。

  45. 数据库 2-2 <返回> • 数据 • 可以从中得出结论的原始资料。 • 可以据此得出新事实的论据。 • 信息 • 知识、才智、有特定意义或作用的一条特殊数据。 • 信息通常是对数据进行结合、比较与计算的结果。

  46. 关系数据库 5-1 • 关系数据库是目前应用最广泛的一种数据库 • 目前,全世界的数据有20% 存储在RDBMS 中。 • Oracle 数据库支持关系数据库技术 • 关系数据库就是由二维表组成的数据库 • 所有数据都存储在表中 • 表中的数据通过外键(关系)关联到一起 • 下边的表包含雇员数据。

  47. 关系数据库 5-2 • 列完整性 • 列只能包含与其已定义 的数据格式一致的值。

  48. 关系数据库 5-3 • 主键 • 主键(PK) 是唯一地标识表中各行的一个列或一组列。 • 每个表都应有一个主键, 并且主键必须是唯一的。 • 主键的任何部分都不能 为空。

  49. 关系数据库 5-4 • 一个表可能会包含多个或一组可以作为其主键的列。其中 每个列都称为“候选”键。

  50. 关系数据库 5-5 • 选择一个要用作该表主键的候选键。其它候选键则变成可选键 (或唯一键)。

More Related