北华航天学院《软件工程》:概要设计与数据库设计实验报告详解

版权申诉
0 下载量 189 浏览量 更新于2024-06-20 收藏 1.04MB PDF 举报
"《概要设计与数据库设计.pdf》是一份由北华航天工业学院计算机科学与工程系学生完成的《软件工程》实验报告,主要目标是通过使用Visio 2007来绘制分析和设计模型,并编写相关的文档。实验分为两个主要部分:概要设计和数据库设计。 概要设计部分首先明确了编写的目的,即为了明确系统的需求、运行环境和设计概念,以便构建模块结构和功能。报告详细地描述了需求规定,包括系统的逻辑结构和功能需求,以及与人工处理过程的关系。接口设计涉及用户接口、外部接口和内部接口的规划,确保系统与其他系统和用户之间的有效沟通。运行设计部分阐述了运行模块的组合、运行控制策略以及系统的时间性能。此外,还讨论了系统数据结构的设计,包括逻辑结构、物理结构的特点及其与程序的关系,以及错误处理和系统维护的设计。 数据库设计部分同样以编写目的、背景和定义为起点,参考了相关的参考资料。这部分主要关注的是E-R图的应用,通过对系统需求的深入分析,确定了数据库的结构。外部设计可能涉及到数据库与外部系统的交互设计。 整个实验过程中,学生通过团队协作,不仅提升了软件设计和文档写作的技能,也加深了对软件生命周期中这两个关键阶段的理解。通过这份报告,读者可以了解到如何运用Visio 2007这样的工具进行有效的系统分析和设计,以及如何将这些设计转化为实际的数据库方案。"
2023-01-08 上传
数据库设计概述 数据库设计概述 ⽬录 数据库设计概述 数据库设计概述 数据库设计是指对于⼀个给定的应⽤环境,构造最优的数据库模式,建⽴数据库及其应⽤系统,使之能够有效地存储数据,满⾜各种⽤户的 应⽤需求,包括信息需求和处理需求。 信息需求:表⽰⼀个单位所需要的数据及其结构,该部分的数据库设计是将应⽤系统所要⽤到的所有信息描述成实体、属性及实体间的 联系,主要⽤来描述数据之间的联系。 处理需求:表⽰⼀个单位需要经常进⾏的数据处理,该部分的数据库设计是将要进⾏的数据处理描述为操作的优先次序、操作执⾏的频 率和场合,主要⽤来描述操作与数据之间的联系。 信息需求表达了对数据库的内容及结构的要求,是静态要求,处理需求表达了基于数据库的数据处理要求,是动态要求。 由于数据库系统的复杂性及其与环境联系的密切性,使得数据库设计成为⼀个困难、复杂和费时的过程。⼤型数据库设计和实施涉及多学科 的综合与交叉,是⼀项开发周期长、耗资巨⼤、风险较⾼的⼯程,因此,⼀个从事数据库设计的专业⼈员⾄少应该具备以下4个⽅⾯的技术 和知识: 数据库的基本知识和数据库设计技术。 计算机科学的基础知识和程序设计的⽅法和技巧。 软件⼯程的原理和⽅法。 应⽤领域的知识。 数据库设计的任务 数据库设计的任务 数据库系统的设计主要包括数据库的结构特性设计以及数据库的⾏为特性设计。 设计数据库的结构特性,是为特定应⽤环境构造出最优的数据模型。 设计数据库的⾏为特性,是建⽴满⾜各种⽤户对数据库应⽤需求的功能模型。 设计数据库系统,⾸先应进⾏结构设计,数据库结构设计是否合理,直接影响到系统中各个处理过程的性能和质量。另⼀⽅⾯,结构 特性⼜不能与⾏为特性分离,静态的结构特性的设计与动态的⾏为特性的设计分离,会导致数据与程序不易结合,增加数据库设计的 复杂性。 数据库设计的原则 数据库设计的原则 不依赖性原则:指数据库系统对各种原始成果数据的格式和内容进⾏存储和管理,对数据的存储和管理不依赖于某个特定的软件系统。 开放性原则:指系统不限定数据的存储格式,即原则上能存储任意格式的数据,在系统中,数据的存储位置、存储⽅法、数据格式等对 系统管理者来说是透明的和开放的,原则上没有数据⿊匣⼦。系统管理员能够知道数据以什么样的格式存放在系统中的什么位置,为 实现真正意义上的数据管理(特别是数据备份)提供条件。 可扩展性原则:随着新数据源的出现和⽤户需求的增加,今后数据库所包含的数据种类可能会⽐现在多,因此要求系统具有⼀定的可扩 充性。当增加新种类的数据时,系统只要在原来的基础上增加⼀个对新数据的管理模块和若⼲数据库表后,就可实现对新数据的存储 和管理。此外,数据的可扩展性还包含数据服务的可扩展性,⽣产出的数据和建⽴的数据库系统,不仅要能满⾜⽤户今天的要求,还 应该考虑到⽤户在未来⼏年内可能提出的从数据的种类到数据服务的⽅式等⽅⾯的新的需求。 检索和管理的⾼效性原则:数据库系统的重点是对数据的管理和数据的提供,因此如何⾼效地实现"知道有什么数据、在什么地⽅、迅速 提取数据并加⼯成⽤户所要求的产品",是进⾏系统设计时考虑的⼀个主要因素。 设计的⽅法 设计的⽅法 规范设计法:⽐较著名的有新奥尔良⽅法,它将数据库设计分为4个阶段:需求分析(分析⽤户要求)、概念设计(信息分析和定 义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。 其后,许多科学家对此进⾏了改进,认为数据库系统设计应分6个阶 段进⾏,分别是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运⾏及维护。 基于E-R模型的设计⽅法、基于3NF(第三范式)的设计⽅法、基于抽象语法规范的设计⽅法等。 数据库设计⼯具:经过多年努⼒,数据库设计⼯具已经实⽤化和产品化。例如,Design 2000和PowerDesigner,分别是Oracle公司和 Sybase公司推出的数据库设计⼯具软件,这些⼯具软件可以⾃动或辅助设计⼈员完成数据库设计过程中的很多任务,特别是⼤型数据 库的设计需要⾃动设计⼯具的⽀持。 设计的步骤 设计的步骤 在数据库需求分析的基础上,按照规范化、结构化设计⽅法,将数据库设计分为以下三个步骤: 逻辑结构设计:将系统需求分析的结果设计成数据库的逻辑模式,即适应于某种特定DBMS所⽀持的逻辑数据模型,与此同时,还需 为各种数据处理应⽤领域产⽣相应的逻辑⼦模式。这⼀步设计的结果是"逻辑数据库"。 物理结构设计:根据特定DBMS所提供的、依赖于具体计算机结构的多种存储结构和存取⽅法等,对具体的应⽤任务选定最合适的物 理存储结构(包括⽂件类型、索引结构和数据的存放次序等)、存取⽅法和存取路径等。这⼀步设计的结果是"物理数据库"。 验证设计:在逻辑结构、物理结构设计的基础上,收集数据并具体建⽴⼀个数据库,运⾏⼀些典型的
2023-01-08 上传
Sybase PowerDesigner Physical Data Model Report Model: PhysicalDataModel Report: Report 1 Author:liaoyulin Version: Date: 2014/7/18 Summary: PDM Diagrams 1 Model level diagrams Model level object lists 1 Common Objects 管理员个人信息表(admin) 表4-2 管理员个人信息表(admin) "字段名 "类型 "说明 " "adminId "int "Not null " "admin_name "varchar "Not null " "admin_sex "varchar "Not null " "admin_age "int "Not null " "admin_tel "varchar "Not null " "admin_phone "varchar "Not null " "admin_addr "varchar "Not null " "admin_memo "varchar "Not null " 管理员账户表(admin_account) 表4-3 管理员账户表(admin_account) "字段名 "类型 "说明 " "admin_account"int "Not null " "ID " " " "admin_usernam"varchar "Not null " "e " " " "admin_passwor"varchar "Not null " "d " " " 业主账户表(custom_account) 表4-4 业主账户表(custom_account) "字段名 "类型 "说明 " "custom_account"int "Not null " "ID " " " "custom_usernam"varchar "Not null " "e " " " "custom_passwor"varchar "Not null " "d " " " "custom_yezhuID"int "Not null " 房产表(homes) 表4-5 房产表(homes) "字段名 "类型 "说明 " "homesID "int "Not null " "homes_number "varchar "Not null " "homes_lou "varchar "Not null " "homes_type "varchar "Not null " "homes_area "int "Not null " "homes_sell "varchar "Not null " "homes_danyuan"varchar "Not null " "homes_louceng"varchar "Not null " "homes_chaoxia"varchar "Not null " "ng " " " "homes_memo "varchar "Not null " 报修信息表(maintain) 表4-6 报修信息表(maintain) "字段名 "类型 "说明 " "maintainID "int "Not null " "maintain_thing "varchar "Not null " "maintain_status "varchar "Not null " "maintain_homesnum"varchar "Not null " "ber " " " "maintain_sdate "datetime "Not null " "maintain_rdate "datetime "Not null " "maintain_tcost "int "Not null " "maintain_scost "int "Not null " "maintainer "varchar "Not null " "maintain_smemo "varchar "Not null " 公告表(notify) 表4-7 公告表(notify) "字段名 "类型 "说明 " "notifyID "int "Not null " "notify_conten"varchar "Not null " "t " " " "notify_date "date "Not null " "notify_title "varchar "Not null " "notify_uper "varchar "Not null " 巡查表(xuncha) 表4-8 巡查表(xuncha) "字段名 "类型 "说明 " "x