首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统架构设计师:软件工程基础知识--结构化编程及数据库设计

1.结构化编程

结构化程序设计(Structured Programing,SP)思想是最早由E.W.Dijikstra在1965年提出的。“面向结构”的程序设计方法即结构化程序设计方法,是“面向过程”方法的改进,结构上将软件系统划分为若干功能模块,各模块按要求单独编程,再组合构成相应的软件系统。该方法强调程序的结构性,所以容易做到易读易懂。该方法思路清晰,做法规范,程序的出错率和维护费用大大减少。

结构化程序设计采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择、循环”

第5章 软件工程基础知识

199的控制结构进行连接,并且只有一个入口和一个出口。

结构化程序设计的原则可表示为:程序=(算法)+(数据结构)。

算法是一个独立的整体,数据结构(包含数据类型与数据)也是一个独立的整体。两者分开设计,以算法(函数或过程)为主。

结构化程序设计提出的原则可以归纳为32个字:自顶向下,逐步细化;清晰第一,效率第二;书写规范,缩进格式;基本结构,组合而成。

2.数据库设计

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库设计的内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。本小节主要讨论数据库的概念结构设计,其他内容详见数据库章节。

1)概念结构设计

概念结构设计是对用户要求描述的现实世界(可能是一个工厂、商场、学校或企业等),通过对其中实体事物的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。通常采用实体-联系图(Entity Relationship Diagram,E-R图)

来表示。

E-R图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法,是表示概念关系模型的一种方式。

在E-R图中有如下成分:矩形框表示实体;菱形框表示联系;椭圆形框表示实体或联系的属性,对于主属性名,则在其名称下画一条下画线。

(1)实体。一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体对象。

(2)属性。实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。

如果是派生属性则用虚线椭圆表示。

(3)联系。联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。

E-R 图中的联系存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束。

(1)一对一联系(1:1)。

对于两个实体集A 和 B,若A 中的每一个值在B 中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。

一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对联系。

(2)一对多联系(1:N)

对于两个实体集A 和B,若A 中的每一个值在 B 中有多个实体值与之对应,反之B 中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。

例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是,每门课程只能由一位教师来教,教师与课程之间具有一对多联系。一个专业中有若干名学生,而每个学生只在一个专业中学习,专业与学生之间具有一对多联系。

(3)多对多联系(M:N)。

对于两个实体集A 和B,若A 中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系。实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。

例如,表示学生与课程间的联系“选修”是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。

联系也可能有属性。例如,学生“选修”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于特定学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“选修”的属性。

E-R 图的基本作图步骤如下。

(1)确定所有的实体集合。

(2)选择每个实体集应该包含的属性。

(3)确定实体集之间的联系。

(4)确定实体集的关键字,用下画线在属性上表明关键字的属性组合。

(5)确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n来表示联系的类型。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMmjJKU1_J9NEveoWyJmxLlQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券