软件编写

软件编写,第1张

软考高级系统架构设计师考试论文只要写一篇,从给出的4道试题(试题一至试题四)中任选1道题解答,需在答题纸上的指定位置处将所选择的试题的题号框涂黑,若多涂或者未涂题号框,则对题号最小的一道试题进行评分。
根据软考高级系统架构设计师考试大纲,系统架构设计师论文科目的考试范围如下:
根据给出的系统架构设计有关的若干个专题,选择其中一个专题,按照规定的要求撰写论文。
1 系统建模
定义问题与归结模型
结构化系统建模
面向对象系统建模
数据库建模
2软件架构设计
软件架构设计
特定领域软件架构
基于架构的软件开发方法
软件演化
3系统设计
处理流程设计
系统人机界面设计
文件设计、存储设计
数据库设计
网络应用系统的设计
系统运行环境的集成与设计
系统性能设计
中间件、应用服务器
4分布式系统设计
分布式通信协议的设计
基于对象的分布式系统设计
基于 Web 的分布式系统设计
基于消息和协同的分布式系统设计
异构分布式系统的互 *** 作性设计
5系统的可靠性分析与设计
系统的故障模型和可靠性模型
提高系统可靠性的措施
系统的故障对策和系统的备份与恢复
6系统的安全性和保密性设计
系统的访问控制技术
数据的完整性
数据与文件的加密
通信的安全性
系统的安全性设计
温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
下方免费复习资料内容介绍:2023上半年信息处理技术员学习计划
格式:DO大小:142969KB 2022下半年网络工程师上午真题
格式:DO大小:644931KB
资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料

1计算机软件与网络基础知识
11 *** 作系统
*** 作系统的类型和结构
*** 作系统基本原理
网络 *** 作系统及网络管理
嵌入式 *** 作系统与实时 *** 作系统
12数据库系统
数据库管理系统的类型、结构和性能评价
常用的关系型数据库管理系统
数据库模式
数据库规范化
分布式数据库系统,并行数据库系统
数据仓库与数据挖掘技术
数据库工程
备份恢复
13嵌入式系统
嵌入式系统的特点
嵌入式系统的硬件组成与设计
嵌入式系统应用软件及开发平台
嵌入式系统网络
嵌入式系统数据库
14数据通信与计算机网络
数据通信的基本知识
开放系统互连参考模型
常用的协议标准
网络互连与常用网络设备
计算机网络的分类与应用
15多媒体
多媒体的类型、特点及数据格式
多媒体数据的压缩编码
16系统配置与性能评价
多层结构、分布式系统
系统配置方法(双份、双重、热备份、容错、集群)
性能计算(响应时间、吞吐量、TAT)
性能设计(系统调整、Amdahl解决方案、响应特性、负载均衡)
性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)
性能评估
2信息化基础知识
21信息系统工程总体规划
总体规划目标、范围
总体规划的方法论
信息系统的组成
信息系统的实现
22政府信息化与电子政务
电子政务的概念、内容和技术形式
中国政府信息化的策略和历程
电子政务建设的过程模式和技术模式
23企业信息化与电子商务
企业信息化的概念、目的、规划、方法
ERP的主要模块和主要算法
企业业务流程重组(BPR)
CRM、PDM在企业的应用
知识管理
企业应用集成
全程供应链管理的思想
商业智能
电子商务的类型、标准
24信息资源管理
25国际和国内有关信息化的标准、法律和规定
3系统开发基础知识
31开发管理
项目的范围、时间、成本
文档管理工作、配置管理
软件开发的质量与风险
软件的运行与评价
32需求管理
需求变更
需求跟踪
需求变更风险管理
33软件开发方法
软件开发生命周期
软件开发模型(瀑布模型、演化模型、增量模型、螺旋模型、原型,构件组装模型、RUP,敏捷方法)
构件与软件重用
逆向工程
形式化方法
34软件开发环境与工具
集成开发环境
开发工具(建模工具、分析设计工具、编程工具、测试工具、项目管理工具等)
35设计方法
分析设计图示(DFD、ERD、UML、流程图、NS图、PAD)
结构化分析与设计
模块设计
面向对象的分析与设计
I/O设计、人机界面设计
设计模式
36基于构件的开发
构件的概念与分类
中间件技术
典型应用架构(J2EE、NET)
37应用系统构建
应用系统设计与开发(分析与设计方法的使用、外部设计、内部设计、程序设计、测试)
软件包的使用(开发工具、运行管理工具、业务处理工具、ERP、群件、OA工具)
38测试与评审
测试评审方法
验证与确认(V&V)
测试自动化
测试设计和管理方法
4软件架构基础知识
软件架构的概念
软件架构的风格
特定领域软件架构
基于架构的软件开发方法
软件架构评估
软件产品线
设计模式
5安全性与可靠性技术
41信息安全与保密
加密和解密
身份认证(数字签名、密钥、口令)
访问控制
安全保密管理(防泄漏、数字水印)
安全协议(SSL、PGP、IPSec)
系统备份与恢复
防治病毒
42系统可靠性
可靠性设计(容错技术、避错技术)
可靠性指标与评估
43安全性规章与保护私有信息规则
信息系统安全法规与制度
计算机防病毒制度
保护私有信息规则
6标准化与知识产权
标准化意识,标准化的发展,标准的的生命周期
国际标准、美国标准、国家标准、行业标准、地方标准、企业标准
代码标准、文件格式标准、安全标准、软件开发规范和文档标准
标准化机构
知识产权
7应用数据
概率统计应用
图论应用
组合分析
算法(数值算法与非数值算法)的选择与应用
运筹方法(网络计划技术、线性规划、预测、决策、库存管理、模拟)
数学建模
8专业英语
具有高级工程师所要求的英文阅读水平
掌握本领域的英语术语 1系统规划
系统项目的提出与可行性分析
系统方案的制定、评价和改进
新旧系统的分析和比较
现有软件、硬件和数据资源的有效利用
2软件架构设计
软件架构设计
XML技术
基于架构的软件开发过程
软件质量属性
架构模型(风格)
特定领域软件架构
基于架构的软件开发方法
架构评估
软件产品线
系统演化
3设计模式
设计模式的概念
设计模式的组成
模式和软件架构
设计模式分类
设计模式的实现
4系统设计
处理流程设计
人机界面设计
文件设计、存储设计
数据库设计
网络应用系统的设计
系统运行环境的集成与设计
中间件、应用服务器
性能设计与性能评估
系统转换计划
5软件系统建模
系统需求
建模的作用和意义
定义问题(目标、功能、性能等)与归结模型(静态结构模型、动态行为模型、物理模型)
结构化系统建模、数据流图
面向对象系统建模
统一建模语言(UML)
数据库建模、E-R图
逆向工程
6分布式系统设计
分布式通信协议的设计
基于对象的分布式系统设计
基于Web的分布式系统设计
基于消息和协同的分布式系统设计
异构分布式系统的互 *** 作性设计
7嵌入式系统设计
实时系统和嵌入式系统特征
实时任务调度和多任务设计
中断处理和异常处理
嵌入式系统开发设计
8系统的可靠性分析与设计
系统的故障模型和可靠性模型
系统的可靠性分析和可靠度计算
提高系统可靠性的措施
系统的故障对策和系统的备份与恢复
9系统的安全性和保密性设计
系统的访问控制技术
数据的完整性
数据与文件的加密
通信的安全性
系统的安全性设计 根据给出的系统架构设计有关的若干个专题,选择其中一个专题,按照规定的要求撰写论文。
1系统建模
定义问题与归结模型
结构化系统建模
面向对象系统建模
数据库建模
2软件架构设计
软件架构设计
特定领域软件架构
基于架构的软件开发方法
软件演化
3系统设计
处理流程设计
系统人机界面设计
文件设计、存储设计
数据库设计
网络应用系统的设计
系统运行环境的集成与设计
系统性能设计
中间件、应用服务器
4分布式系统设计
分布式通信协议的设计
基于对象的分布式系统设计
基于Web的分布式系统设计
基于消息和协同的分布式系统设计
异构分布式系统的互 *** 作性设计
5系统的可靠性分析与设计
系统的故障模型和可靠性模型
提高系统可靠性的措施
系统的故障对策和系统的备份与恢复
6系统的安全性和保密性设计
系统的访问控制技术
数据的完整性
数据与文件的加密
通信的安全性
系统的安全性设计

系统架构设计师属于软考高级资格考试,系统架构设计师论文科目安排在下午考试,论文考试为写作题,满分为75分,论文科目的合格标准基本上稳定在45分。
软考高级系统架构设计师论文安排在下午考试,根据系统架构设计师考试大纲,论文科目考试范围如下:
1 系统建模;
定义问题与归结模型;
结构化系统建模;
面向对象系统建模;
数据库建模;
2软件架构设计;
软件架构设计;
特定领域软件架构;
基于架构的软件开发方法;
软件演化;
3系统设计;
处理流程设计;
系统人机界面设计;
文件设计、存储设计;
数据库设计;
网络应用系统的设计;
系统运行环境的集成与设计;
系统性能设计;
中间件、应用服务器;
4分布式系统设计;
分布式通信协议的设计;
基于对象的分布式系统设计;
基于 Web 的分布式系统设计;
基于消息和协同的分布式系统设计;
异构分布式系统的互 *** 作性设计;
5系统的可靠性分析与设计;
系统的故障模型和可靠性模型;
提高系统可靠性的措施;
系统的故障对策和系统的备份与恢复;
6系统的安全性和保密性设计;
系统的访问控制技术;
数据的完整性;
数据与文件的加密;
通信的安全性;
系统的安全性设计。
温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
下方免费复习资料内容介绍:2018上半年信息系统管理工程师下午真题(汇总)
格式:PDF大小:21468KB 希赛2023年嵌入式系统设计师招生简章
格式:DO大小:618317KB
资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料

应用服务器

应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。

基本信息

中文名

应用服务器

提供

访问商业逻辑的途径

实现

动态网页技术

目录

定义

随着Internet的发展壮大,“主机/终端”或“客户机/服务器”的传统的应用系统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,相应地,新的开发模式也应运而生,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。应用服务器便是一种实现这种模式核心技术。[1]

Web应用程序驻留在应用服务器(ApplicationServer)上。应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级的服务,如>

市场上可以得到多种应用服务器,其中包括Apache的Tomcat、IBM的WebSphereApplicationServer、CauchoTechnology的Resin、Macromedia的JRun、NECWebOTXApplicationServer、JBossApplicationServer、Oracle(并购了BEA)的WebLogic等。其中有些如NECWebOTXApplicationServer、WebLogic、WebSphere不仅仅是Servlet容器,它们也提供对EJB(EnterpriseJavaBeans)、JMS(JavaMessageService)以及其他JavaEE技术的支持。每种类型的应用服务器都有自己的优点、局限性和适用性。

分类

通常,根据确定文档内容的时间,所有文档可以划分为如下三类。

静态

静态:静态Web文档是一个存储于Web服务器的文件。静态文档的作者在写作的时候确定文档的内容。由于文档内容不会变化,所以对静态文档的每次访问都返回相同结果。

动态

动态:动态web文档不是以一个预先定义的格式存在,而是在浏览器访问web服务器时创建。当一个请求到达时,web服务器运行一个应用程序创建动态文档(dynamicdocuments),服务器返回程序的输出作为应答。由于每次访问都要创建新的文档,动态文档的内容是变化的。

活动

活动:一个活动文档不完全由服务器一端说明,而是包括一个计算并显示值的程序。当浏览器访问活动文档时,服务器返回一个浏览器可以本地执行的程序。当该程序运行时,它可以和用户交互执行并不停地改变显示。这样,活动文档的内容是不固定的-只要用户让程序保持运行,它总是在不停地变化。静态文档的主要优点在于它的简单、可靠性和性能。由于静态文档是直接指定格式。它可以由不懂编程的人创建。更重要的是,在已经创建和测试之后,静态文档永远是正确的。最后,浏览器可以快速存取文档,同时通过把文档放在本地盘上的缓冲区内以加快以后对这些文档的访问速度。静态文档的主要缺点是不灵活-当信息变化时文档必须重新设计。另外,改变是很耗费时间的,因为它需要人工修改文件。因此,静态文档不适合频繁变化的报告信息。动态文档的主要优点是它报告当前信息的能力。例如,一个动态文档可以用来报告股市行情、天气预报或音乐会售票情况等内容。当浏览器申请信息的时候,服务器运行一个应用程序,访问所需要的信息,并创建一个文档,服务器于是将该文档返回给浏览器。动态文档把任务放在服务器一端,浏览器采用和静态文档同样的方法访问动态文档。实际上,从浏览器的角度来看。动态文档和静态文档是无区别的。由于动态文档和静态文档都采用HTML编写,浏览器不知道服务器是从一个磁盘文件还是计算机程序中取得文档。动态文档的主要缺点是增加成本和不能显示变化的信息。和静态文档类似,动态文档在浏览器取得文档后不会再改变。因此在信息发送给浏览器之后,文档就开始过时。例如一个报告股市信息的动态文档,由于股市信息变化迅速,当用户访问时文档很快就过时。动态文档的创建和访问成本比静态文档昂贵。创建动态文档的代价较高,因为动态文档的创建者必须懂得如何写程序。另外,程序必须仔细编写和广泛测试,以保证输出的合法性。验证这样一个程序的正确性是很困难的,因为输入可以包含不同来源的多种数据。动态文档除了创建成本高,所需的硬件成本也较高,因为服务器端需要更强大的计算机。最后取出动态文档需要的时间稍多些,因为服务器需要额外的时间去运行程序创建文档。尽管在申请到达时动态文档才创建,但信息可能很快过时,活动文档相对于动态文档的主要优点在于它持续更改信息的能力。例如,只有活动文档能够快速改变显示以显示动画。更重要的是,活动文档能够直接访问信息源并连续更改显示。例如,一个显示股市行情的活动文档可以连续读取股市信息,并且不需要用户干预而自动修改显示。活动文档的主要缺点是创建和运行这种文档所需的额外费用,同时缺少安全性。首先,活动文档的显示需要更复杂的浏览器软件和一个强有力的计算机运行浏览器。另外,写正确的活动文档比写其他画面需要更多的编程技巧,所得到的结果文档更难于测试。而且,由于活动文档必须运行在客户端而不是服务器端,程序必须解决在不同客户上的兼容性问题,最后,活动文档存在着潜在的安全性问题,因为文档既输入信息又输出信息。

与传统的软件开发方式相比,基于构件的软件开发方法有什么突破呢?

一、体系结构

软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是:

企业过分地依赖于某个供应商的软件和硬件产品。这种单一供应商使得企业难以利用计算供应商的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。

不能适应远程访问的分布式、多层次异构系统。

封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。

不能实现分析、设计核心功能重用,最多只能实现代码重用。

如今,应用系统已经发展成为在Intranet和Internet上的各种客户端可远程访问的分布式、多层次异构系统。CBSD为开发这样的应用系统提供

了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。

这样的体系结构实现了CBSD的以下几点目标:

能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。

鼓励在各种应用系统中重用核心功能,努力实现分析、设计的重用。

系统都应具有灵活方便的升级和系统模块的更新维护能力。

封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。

由此看出,CDSD从系统高层次的抽象上解决了复用性与异构互 *** 作性,这正是分布式网络系统所希望解决的难题。

二、开发过程

传统的软件开发过程在重用元素、开发方法上都与CBSD有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。

自从构件出现以来,软件的重用才得到了根本改变。CBSD实现了分析、设计、类等多层次上的重用。图1显示了它的重用元素分层实现。在分析抽象层上,重用

元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。

在软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时

间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE平台上,用EJB框架开发应用系统,主要工作是将应用逻辑,按sessionBean、entity

Bean设计开发,并利用JTS事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布

式、流水线的过程;而CBSD是并发进化式,不断升级完善的过程。图2显示了它们的不同。

三、软件方法学

软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数据流、面向对象等不断创新

的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大

步。但是,高层次上的重用、分布式异构互 *** 作的难点还没有解决。CBSD发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分

离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。图3是其开发过程。

归纳起来,CBSD的软件开发方法学应包括下面几方面:

对构件有明确的定义。

基于构件的概念需要有构件的描述技术和规范,如UML、JavaBean、EJB、Servlet规范等。

开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。

有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。

总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSD的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。

四、开发组织机构

传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD来说,因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是:

构件开发者也是构件供货商,这些大多数是中间件构件提供者。

应用构件集成者针对某应用领域将已有构件组合成更大的构件模块或容器,作为系统部署的基本单元。

应用系统部署者将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。

开发平台服务器供应商提供服务器、 *** 作系统和数据库等基本软件。

应用系统开发工具供应商提供构件公共设施服务。

系统管理员配置硬件、网络和 *** 作系统,监督和维护应用系统者。

这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成构件开放市场,而且还很火红。这也是当今软件人才大战所遇的

一个困惑。因此,在CBSD中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指

导方针,保证在整个开发过程中,各角色能随时互相沟通。一般来说,CBSD的人员素质决定了构件的重用率。

五、构造方法

传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD的构造是用白盒子和黑盒子相结合的方法。基于构件的框架是用两个概念来支持演变:第一个概念是构件有很强的性能接口,使构件逻辑功能和构件模型的实现都隐藏起来。这样,只要接口相同,构件就可以被替换。

第二个概念是隐式调用,即在基于构件的框

架中,从来不直接给构件的接口分配地址,只在识别构件用户后才分配地址。因此,构件用户只要了解接口要求和为构件接口提供的引用后的返回信息

(该引用可能是一个构件,也可能是一个构件代理。对构件用户来说,构件代理就是构件,不用区分)。

构件接口的信息并不存入构件内,而是存入构件仓库或注册处。这样才能保证构件替换灵活,并很容易利用隐式调用去重新部署构件。由于构件的实现对用户透明,因此也使构件能适应各种不同的个性化要求。为此,构件提供自检和规范化两个机制。自检保证在不了解构件的具体实现时,就能获得构件接口信息。例

如,JavaBean提供的自检机制是Reflection和BeanInfo,通过Reflection

可直接获得Bean构件的全部方法,通过BeanInfo可直接获得构件的许多复杂信息。

规范化允许不访问构件就可以修改它,如JavaBean提供的规范化是propertysheet和customizer(定制器)。通过propertysheet提供一组简单参数,修改Bean的属性。复杂的修改由用户通过定制器设置参数完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10401406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存