企业应用开发考试笔记——重点

软件体系结构

     

1992 Dewayne Perry和Alex Wolf:软件体系结构由具有特定形式的体系结构元素(elements)或设计元素构成,包括处理元素、数据元素和连接元素三类。(或模块间的控制关系)

Soni, Nord和Hofmeister在研究了工业应用中有影响的一些流行结构后提出:软件体系结构至少有四个从不同方面描述系统的实例化描述:

设计元素和他们之间的关系;两个相互耦合功能分解和分层结构;反映系统动态性能的执行结构;描述源代码、二进制和库的组织的代码结构。

1997年,Bass, Clements和Kazman:软件体系结构包括部件、部件的外部可见性以及相互的关系。可见性是指部件提供的服务、性能、特性、错误处理、共享资源使用等。该定义强调体系结构须从系统中抽象出用于分析、决策的信息

理想中的软件开发

客户角度来看:软件系统的实施能够提升客户公司的生产力(生产/管理/效率/规范);软件公司能够准确领会我的意图(需求);软件公司有实力按时按质完成任务;以我为主,软件公司要适应我的进步和变化

软件公司来看:开发目标明确(前瞻+适应变化);各团队分工明确、发挥各自所长(内部的有效管理);人员良性流动与公司稳定;开源节流

利益相关者(Stakeholder)在软件项目中存在利害关系的人。即任何受到系统影响或对系统开发产生影响的人,都是利益相关者。

1.客户(决策者、管理者、使用者);2.开发者(系统分析员/顾问、架构设计师、开发工程师、测试工程师)

软件开发出的成果物必须为利益相关者提供切实的好处,否则它将会失败

1.本质问题(essence):软件本身在分析与设计上存在先天困难,即如何从抽象性问题发展出具体概念上的解决方案。(工艺或艺术)

2.实现时碰到的意外事件(accident):将概念上的构思施行于计算机上遇到的困难

造成本质性困难的原因 -1

本质性困难最难以解决,因为大部分活动是发生在人们的意识里,缺乏有效的辅助工具。

复杂性:软件系统所要解决的问题涉及很多的实体、关系、流程,这些问题的解决需要人的抽象化的智能活动;不可见性:在完成开发前,软件是不可见的,即使使用图示说明,仍无法充分呈现完整结构和重点细节,使得人们在沟通上面临极大困难

造成本质性困难的原因 -2

本质性困难最难以解决,因为大部分活动是发生在人们的意识里,缺乏有效的辅助工具。

协同性:在软件系统中,各子系统、模块的接口必须协同一致。由于时间和环境的演变,维持一致性十分困难;变异性:软件所应用的环境常是由人群、法规、硬件设备、应用领域等,各因素所汇集而成,而这些因素皆会快速变化。

造成本质性困难的原因 -3

软件系统是社会系统,是社会活动(生产/管理/社交)的抽象、深入和延续;

软件系统的开发就是刻画社会系统的过程,开发的软件系统如果不能融入现有社会系统中,它的生命就终结了。

造成本质性困难的原因 -4

1.客户端:客户需求被误解、或未被完全捕获;客户的需求改变的过于频繁;客户没有准备为项目提供足够的资源;客户不想与开发者合作;客户怀有不切实际的期望;系统不再对客户有利;

2.解决:随着软件复杂性的增加,人们意识到,开发者是最重要的;“伟大的设计来源于伟大的设计者”

第一范式(1NF):1.实体中的某个属性不能有多个值或者不能有重复的属性。2.通俗:一个实体不能有重复列,一列只能表示实体的一个属性

第二范式(2NF:满足1NF;每个实例(或行)必须可以被唯一地区分;通俗:不能有重复的行,要有索引列(又称主键:可以是多列,保证唯一)

第三范式(3NF:满足2NF;如果关系模式中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的 ;通俗:若将一个实体分为主键和相关信息,那么关于实体的相关信息只能出现一次。(去除冗余信息)

BCNF(鲍依斯-科得范式):如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的;典型情况:主属性与候选主键间存在传递依赖关系

触发器:1.简单的数据检查:规则和引用完整性约束

2.功能更强大的解决方法:触发器

是一段小程序;挂接到一定的查询动作上;多用于数据检查、汇总更新上

3.缺点:触发器的性能开销较大;触发器的多级触发不好控制,容易发生错误;

存储过程:为查询语言添加应用开发能力(数据库中的编程语言)---结构化查询语句SQL;通用程序设计语句:变量、循环、分支以及赋值语句等;输入、输出;除数值类型外,支持复杂数据类型、数组的定义

关系模式可以形式化地表示为:R(U,D,dom,F)

R:关系名(表名);U:组成该关系的属性名集合 (列名);D: 属性组U中属性所来自的域 ;dom:属性向域的映象集合;F: 属性间的数据依赖关系集合

数据建模的过程

1.确定数据及其相关过程(如实地销售人员需要查看在线产品目录并提交新客户订单)。 2.定义数据(如数据类型、大小和默认值)。 3.确保数据的完整性(使用业务规则和验证检查)。 4.定义操作过程(如安全检查和备份)。 5.选择数据存储技术(如关系、分层或索引存储技术)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值