软件体系结构大作业doc.docx
《软件体系结构大作业doc.docx》由会员分享,可在线阅读,更多相关《软件体系结构大作业doc.docx(28页珍藏版)》请在冰豆网上搜索。
软件体系结构大作业doc
南京邮电大学
《软件体系结构》大作业
姓名陈何渊
学号B12041318
院系计算机、软件学院
指导老师周国强
2014年12月30日
一、简述软件体系结构的性质、研究意义和目标是什么?
(不少于300字)
答
软件体系结构的性质:
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
(1)软件体系结构是软件设计过程的一个层面,是相对独立的、有价值的软件设计方法的总结,可作为软件开发指导性的策略和途径。
(2)强调设计过程,而非分析的过程。
分析的目标是理解和表示,设计的目标是实现。
(3)非用户的观点及非功能的观点。
对于用户,结构是软件系统功能的组合。
对于设计者,结构是为特定目标而设立的软件成分以及成分之间的关系。
研究意义:
软件体系结构是软件工程的重要研究领域,通过对基本软件结构和经典设计风格的学习和研究,掌握软件体系结构设计的基本原则和技术途径;能够拓宽软件方法和技术的知识面,提高软件的设计能力;软件体系结构的重要作用体现在以下三个方面:
1.体系结构是风险承担者进行交流的手段,软件系统的各个风险承担者都关心着系统的各个不同的方面,这些方面都受体系结构的影响。
2.体系结构是早期设计决策的体现,软件体系结构体现的这些早期的约束比起后续的开发、设计、编码、运行服务以及维护工作更为重要。
3.软件体系结构是可传递和可重用的模型。
目标:
软件体系结构是一系列决策和基本原理的集合,这些决策的目标在于开发高效的软件体系结构。
在体系结构设计中所强调的基本原理是系统的可理解性、可
输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。
因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。
5.批处理风格。
批处理风格的每一步处理都是独立的,并且每一步是顺序执行的,只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个整体。
批处理的典型应用是经典数据处理和程序开发。
软件设计模式
设计模式是软件问题高效和成熟的设计模板,模板包含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。
设计模式/软件设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
软件应用框架
框架是待实例化的、可复用的大粒度部件结构。
框架面向不同规模的应用问题,是通用的结构。
强调针对实际问题和通用结构。
应用框架有如下优点:
模块化把应用分割成多个组件或模块.模块化的开发互不影响,效率提高.可重用性代码的可重用性.可扩展性客制化,开发者可在框架中插入自定义的业务逻辑。
三、A公司是一家相对较大的软件和硬件企业,专业从事网络设备的开发。
从单一的产品开始,现在,已经延伸到包括摄相服务器、扫描服务器、光盘服务器以及其他的存储服务器在内的产品。
公司原来的产品都是一个一个地开发,每个软件组织一个项目组。
为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。
然而,软件产品线开发涉及了一个软件开发组织的多个产品,选择了软件产品线意味着要承担由此带来的许多风险。
所以,公司的CTO王总决定在弄清三个问题之后再做决定,首先就是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素是什么?
[问题1]
请用100字以内文字说明A公司是否适合采用产品线方法?
为什么?
产品线是指密切相关的一组产品,因为这些产品以类似的方式发挥作用,售给同类客户群,通过同一种类的渠道销售出去产品线可以是密切相关的一组产品,也可以是多个系列产品的集合,面向不同客户群,通过不同销售渠道销售出去;从规模来看,可以是几百万、几千万的小产品线,也可以是几十亿、几百亿的大产品线。
A公司的产品符合产品线的要求。
所以适合。
[问题2]
请用200字以内文字说明如何在原有产品的基础上建立产品线?
建立产品线首先要明确市场需求和企业资源,企业到底能支撑自身做什么样的产品,同时要想清楚未来市场上需要什么样的产品;其次是要策划比较好的产品线,要有两个策划,一个是产品策划,即基于特定目标客群划分的产品组合,另一个是营销策划;第三是标准化,标准化包括设计标准和实施标准。
(1)演化方式,即将现有产品演化为产品线:
在基于现有产品体系结构设计的基础上,将特定产品的构件逐步转化为产品线的共用构件,从基于产品的方法逐步转化为基于产品线的软件开发。
主要优点是通过对投资回报周期的分解、对现有系统演化的维持使产品线方法的实施风险降到了最小,与革命方式相比,完成核心资源的总周期和总投资较大。
(2)革命方式,即用软件产品线替代现有产品集:
基本停止现有产品的开发,所有工作直接针对软件产品线的核心资源开发。
遗留系统只有在符合体系结构和构件需求的情况下,才可以和新的构件协作。
因重要需求的变化导致的初始投资报废的风险加大,与演化方式相比,完成核心资源的总周期和总投资较小。
由于无法满足产品线方法对软硬件同步的需求,这种方法适用于软硬件结合密切且硬件需求差异大的现有产品集。
[问题3]
请用150字以内文字说明成功实施产品线的主要因素是什么?
(1)对该领域的产品开发已具备长期积累的经验。
(2)一个用于构建产品的好的核心资源库。
(3)好的产品线体系结构。
(4)好的管理(软件资源、人员组织、过程)支持。
四、简述SOA软件体系结构的基本概念,简述WebService的主要协议。
(不少于300字)
SOA软件体系结构基本概念:
面向服务的体系结构(service-orientedarchitecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
WebService技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。
依据WebService规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
WebService是自描述、自包含的可用网络模块,可以执行具体的业务功能。
WebService也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如XML和HTTP。
WebService减少了应用接口的花费。
WebService为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
XML和XSD
可扩展的标记语言XML 是WebService平台中表示数据的基本格式。
除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。
XML是由万维网协会(W3C)创建,W3C制定的XMLSchemaXSD 定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
WebService平台是用XSD来作为数据类型系统的。
当你用某种语言如VB.NET或C# 来构造一个WebService时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。
如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。
这种东西就是一种协议。
WebService的主要协议
SOAP
SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。
它有三个主要方面:
XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。
SOAP可以运行在任何其他传输协议上。
例如,你可以使用SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。
在传输层之间的头是不同的,但XML有效负载保持相同。
WebService希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。
WSDL
WebService描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。
因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
UDDI
UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。
调用RPC与消息传递
WebService本身其实是在实现应用程序间的通信。
我们现在有两种应用程序通信的方法:
RPC远程过程调用 和消息传递。
使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。
RPC系统试图达到一种位置上的透明性:
服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。
五、自选一个系统,基于WebService实现原型系统。
包含三部分内容:
1)系统需求:
按照国标《软件需求说明书(GB856T——88)》的要求撰写系统的需求,可以根据系统的特点进行国标文档章节内容的删减。
2)系统设计:
按照国标《概要设计说明书(GB8567——88)》、《详细设计说明书(GB8567——88)》的要求撰写系统的设计,可以根据系统的特点进行国标文档章节内容的删减。
3)原型系统。
①《软件需求说明书(GB856T——88)》
1
引言................................................................
1.1编写目的……………………….......................................
1.2背景.............................................................
1.3定义.............................................................
1.4参考资料.........................................................
2任务概述...........................................................
3需求规定...........................................................
3.1对功能的规定.....................................................
3.2对性能的规定.....................................................
3.3输入输出要求......................................................
3.4故障处理要求......................................................
1引言
1.1编写目的
仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。
本系统主要功能是完成了对大量货物信息的系统化管理。
整个系统由系统管理员的基本信息、入库、退库、出库、查询统计、报表打印及各类信息的增加、删除和修改等模块组成。
通过计算机使仓库管理步入了自动化,科学化管理的行列。
避免了以往手工操作等繁杂的劳动,即节省了人力,又方便快捷,还大大提高数据的准确性。
仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。
本系统是在WindowsXP+IIS5.0的环境下,以SQLServer2000作为后台数据库,以ASP为编程语言来开发的。
仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。
1.2背景
待开发的软件系统名为:
基于WebService的仓库管理系统。
项目提出者:
邱进盼
开发者:
邱进盼
仓库管理是与我们日常生活息息相关的问题。
大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。
随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。
为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。
1.3定义
仓库管理系统
1.4参考资料
《Web指导》
2任务概述
仓库管理主要是各种商品的管理。
进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。
各个部门根据需要提出产品请求,管理员根据整个企业的需求开出产品出库单,仓库管理人员根据出库单核对发放产品。
根据需要按照月进行统计分析,产生相应报表。
仓库管理的特点是信息处理量比较大,所管理的产品种类繁多,而且由于入库单、出库单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。
因此在管理上实现起来有一定的困难。
在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门管理规格不统一等问题。
在本系统的设计过程中,为了克服这些困难,满足计算机管理工作的需要,我们采取了下面的一些原则。
1.统一各种原始单据的格式,统一报表的格式。
2.删除不必要的管理冗余,实现管理规范化、科学化。
3.程序代码标准化,软件统一化,确保软件的可维护性和实用性。
4.界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。
3需求规定
3.1对功能的规定
本系统基于WebService技术,采用B/S软件体系结构,分为客户端浏览器、Web服务器、数据库服务器三层,通过此三层互相协作,完成该系统的各项服务。
客户端浏览器为用户提供进行各项操作的端口,Web服务器根据客户端浏览器的操作要求进行相应的操作,操作过程中需要和数据库服务器进行连接,并使用其中的一些数据来完成Web服务。
3.2对性能的规定
用户接口
采用Windows接口风格,用户接口友好,贴近用户的实际操作,可以方便直观的进行商品的统计、查询、结算、打印报表等操作。
通过工具栏的导航,可以方便的对数据进行查询、删除、插入等操作,简化了用户繁重的操作,提高了工作效率。
数据库特性
适应大量的录入、修改、统计、结算、报表等应用,这种应用是一切应用的基础,为一切应用提供数据基础。
后端采用SQLServer2000作为后台数据库,安全稳定好,运行效率高,足以让数据安全的存取。
可扩展性
系统具有良好的可扩展性,当系统在网络环境下发布之后,中间的应用服务器将负责与前台的连接处理,把前台电脑传来的请求传给数据库服务器,或是把数据库服务器返回来的资料集返回给前台电脑。
而数据库服务器则只要处理与应用服务器之间的一个连接,其余的时间将可以专心进行数据库的访问操作,不用关心与前台应用程序的连接,如此将大幅减轻数据库服务器的负担,进而提升整体的工作性能。
稳定性与健壮性
系统具有良好的稳定性和健壮性。
本高校工资管理系统采用的逐一存取方式进行数据库存档。
所以,并不会丢失数据。
3.3输入输出要求
广义的输出是指中央处理器的输出,狭义的输出是指将计算机处理的信息以人们所能识别的各种形式表示出来的各种处理。
输出是软件的重要组成部分。
整个软件的加工处理结果都是通过输出表现出来的,各种综合统计信息、辅助决策信息、查询信息等,都要通过输出才能提供给用户,才能实现信息的价值。
一个好的软件设计,必须要有成功的输出设计。
输出方式及特点:
1.显示输出:
速度快、成本低、形式多样;
2.报表打印输出:
速度慢、成本高、可长期保留;
3.绘图输出:
高成本、高质量。
输出设计与模块说明的关系:
联系:
输出设计中的任何一个输出都必须与一个输出模块对应。
区别:
模块说明中是就某个具有输出功能的模块进行全面的描述,但该模块所输出的信息的具体表现形式就需要在输出设计中给出。
因此,输出设计的重点是输出格式设计。
1.显示输出设计方法:
以显示器为输出设备,多用于查询输出。
要注意显示器的性能如大小规格、分辨率、是彩色还是单色等。
2.报表打印输出设计方法。
输出设计的内容:
1.输出信息名称:
例如:
个人领用统计表。
2.相关模块:
指出该输出设计对应的结构图中的模块代码。
3.输出方式:
这里分为显示输出(可不写,也可写随机)和打印输出。
4.输出信息周期、份数。
5.数据结构及来源:
在此要列出所有的数据的名称、类型、宽度及小数位,属于哪个数据库表。
6.输出信息的格式:
这是输出设计的核心。
在此应该给出一份标准的报表或屏幕格式。
7.数据间的关系:
在输出的数据中,有些数据是通过其中的某些项计算而得到的,这就需要在这里给出它们的数据关系。
8.其它说明:
如是否出现由于数据行数太多一页打不完的,显示输出的屏幕窗口的布置、色彩等问题。
输入设计
广义输入设计是指中央处理器的输入,狭义是指人对计算机的输入,也就是原始数据的输入,即输入数据流的输入格式设计。
他的好坏将直接影响数据的质量,因此它是软件设计的重要组成部分。
原始数据是软件进行各种加工处理的“原材料”。
它的好坏关系到加工处理的“成品”质量。
原则:
输入的数据量在满足系统的前提下尽可能的少。
输入设计的内容:
1.原始数据的名称DFD中的数据流名称;
2.相关模块代码功能图中接收该数据流最底层模块;
3.输入周期;
4.原始数据的收集方式与格式对业务流程图中的报表以报表传递、电话记录、传真、运程通讯、报软盘等方式收集;
5.输入信息的显示格式提供提示信息、帮助信息、以表格形式可以显示更多的信息/每屏、尽量少输或不输汉字、分布均匀、画面美观、色彩适中;
6.输入信息的数据结构:
主要表明数据存储在哪个数据库中,以及各字段的类型;
7.输入信息的校验:
同一数据的重复录入、代码校验位校验、针对数据结构特点的校验、对比校验、平衡校验、记录个数校验、数据关系校验。
3.4故障处理要求
1、若是用户录入的数据出错,给出正确的输入数据格式用例,提醒用户重新输入,删除该编辑框内的数据。
2、Web服务器和数据库服务器均要有备用服务器,一旦主服务器出错、崩溃等,立刻使用备用服务器,以使用户可以继续操作本系统,使用本系统的各项服务。
3、定期备份当前数据库的数据,数据库数据出错或丢失后,通过备份数据,恢复数据库。
②《概要设计说明书(GB8567——88)》
1引言
1.1编写目的
仓库管理是与我们日常生活息息相关的问题。
大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。
随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。
为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。
1.2背景
待开发的软件系统名为:
基于WebService的仓库管理系统。
项目提出者:
邱进盼
开发者:
邱进盼
随着社会经济的迅速发展和科学技术的全面进步,计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。
与此同时,为了管理大量的货品,货品仓库也大量的出现,仓库的管理问题也就提上了日程。
随着物资的大量增加,其管理难度也越来越大,如何优化仓库的日常管理也就成为了一个大众化的课题。
在计算机飞速发展的今天,将计算机这一信息处理应用于仓库的日常管理已是势必所然,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。
采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。
主要体现在:
极大提高了仓库工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。
基于仓库管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。
仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。
1.3定义
仓库管理系统
1.4参考资料
《Web指导》
2总体设计
2.1需求规定
本系统基于WebService技术,采用B/S软件体系结构,分为客户端浏览器、Web服务器、数据库服务器三层,通过此三层互相协作,完成该系统的各项服务。
客户端浏览器为用户提供进行各项操作的端口,Web服务器根据客户端浏览器的操作要求进行相应的操作,操作过程中需要和数据库服务器进行连接,并使用其中的一些数据来完成Web服务。
用户接口
采用Windows接口风格,用户接口友好,贴近用户的实际操作,可以方便直观的进行商品的统计、查询、结算、打印报表等操作。
通过工具栏的导航,可以方便的对数据进行查询、删除、插入等操作,简化了用户繁重的操作,提高了工作效率。
数据库特性
适应大量的录入、修改、统计、结算、报表等应用,这种应用是一切应用的基础,为一切应用提供数据基础。
后端采用SQLServer2000作为后台数据库,安全稳定好,运行效率高,足以让数据安全的存取。
可扩展性
系统具有良好的可扩展性,当系统在网络环境下发布之后,中间的应用服务器将负责与前台的连接处理,把前台电脑传来的请求传给数据库服务器,或是把数据库服务器返回来的资料集返回给前台电脑。
而数据库服务器则只要处理与应用服务器之间的一个连接,其余的时间将可以专心进行数据库的访问操作,不用关心与前台应用程序的连接,如此将大幅减轻数据库服务器的负担,进而提升整体的工作性能。
稳定性与健壮性
系统具有良好的稳定性和健壮性。
本高校工资管理系统采用的逐一存取方式进行数据库存档。
所以,并不会丢失数据。
2.2运行环境
Intel486以上系列、AMDK6以上系列等PC台式和便携式计算机。
运行时占用内存:
<=1MB。
所需要硬盘空间:
<=5MB。
软件平台:
中文WindowsXP/7/8
2.3基本设计概念和处理流程
本系统基于WebService技术,采用B/S软件体系结构,分为客户端浏览器、Web服务器、数据库服务器三层,通过此三层互相协作,完成该系统的各项服务