软件工程详细设计

  • 格式:doc
  • 大小:127.50 KB
  • 文档页数:15

软件工程详细设计项目名称:视频网站指导教师:组员:日期:2015年4月12日1.1在线视频简介在线视频,英文简称Online Video,指的是在INTERNET中按照用户的喜好随意的播放视频。

ONLINE VIDEO有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如影片点播( Movie On Demand)、热点新闻点播( Hot-News On Demand)、交互视频游戏( Interactive Video Games)和远程教学( Long Distance Learning)等。

在线视频是一种受用户控制的视频分配业务,它使得用户可以交互的访问远端服务器所存储的丰富节目源。

它的实质是信息的使用者根据自己的需要主动获得多媒体信息。

在线视频与传统电视有本质不同,主要体现在以下两个方面:首先,在线视频具有交互性,用户可根据个人需求选择视频节目,并指定该节目的起始时间,从这一点来说,在线视频也可以称为交互式在线视频;而传统电视是按事先安排好的程序播放节目,用户在选择和观看节目方面是被动的,只有频道选择权,没有播放控制权,更不能对视频进行交互式操作。

其次,ONLINE VIDEO 系统中的信号是数字化的,而传统电视中的信号是模拟的。

1.2市场需求及项目可行性研究1.2.1市场需求分析目前具有ONLINE VIDEO功能的网站很多,如国内比较出名的土豆网、优酷网、百度视频等等。

随着流媒体技术和宽带网络的发展,网民对网络信息表达方式要求的提高,视频技术被越来越多的各类网站所采用。

新浪、搜狐等大型综合门户网站大规模采集、发布视频信息,土豆网、优酷网等专业的视频分享网站快速崛起,与此同时,新闻网站对视频技术也越来越重视,对视频技术加大投入并进行开发和使用。

由此可见,中国的视频网站领域正在以跨越式的方式向前推进,此项技术在将来的应用必将俞加广泛,因此开发本系统不论是从专业技术方面来讲,还是市场前景来看都有着深远的意义。

1.2.2 项目可行性研究可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套系统正是考虑系统开发的成本而设计。

本系统的开发在经济上是完全可行的,此软件不需要大量的经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力;从技术可行性分析,在线视频网站在国外已经运用达十年之久,各项技术已经非常成熟。

综合以上技术特点,为了降低成本,我们采用PC服务器作为视频服务器,而且PC服务器的性能还在不断提高,支持的并发流数也在增加。

为了解决多并发流数,我们采用多台PC服务器以集群的形式,通过控制网关完成服务器之间的协调,提高系统的利用率。

控制网关以及集群服务器技术是我们的技术增值点。

另外,由于采用集群形式,我们不要求PC服务器实现最大流数,可以采用低档PC服务器和IDE硬盘,这样又可以提高单台视频服务器的性能价格比。

经过我们预研和测试,服务器的瓶颈不在CPU,这样可以用低档CPU和主板。

采用IDE RAID卡和7200转IDE硬盘的服务器仍可支持三、四十个并发流。

控制网关的技术经过前期的预研也是可行的。

系统的整个方案都是我们自行开发并在通用的软硬件平台上运行,具有较强的灵活性。

2 系统开发工具及平台介绍2.1 Browser/Server三层结构选择合适的系统体系架构是一项影响整个应用系统设计的关键工作。

架构设计主要完成定义和说明包(子系统),以及包与包之间的依赖关系与通信机制。

B/S模式的三层结构是一种简单、成熟,并得到普遍应用的应用程序架构,它将应用程序结构划为分三个相对独立层,包括用户表示层、业务逻辑层和数据访问层。

每一层只实现该相对独立层内的功能,而当任何一层发生变化时,只要保持层间接口关系不变,则其它各层都不会受到影响。

(1).用户表示层用户表示层也叫用户界面层,封装人机界面的所有表单和组件,是应用系统与系统用户之间的直接接口。

主要用于显示由业务逻辑层动态传送过来的数据信息,结合使用相应的HTML标记和样式表定义来实现;或者提供给用户录入数据信息并通过简单的校验后,经由数据接口传送给业务逻辑层。

(2).业务逻辑层业务逻辑层主要完成对应用系统相关业务规则和逻辑的封装,在为用户表示层访问提供功能调用的同时,它又通过调用数据访问层所提供的功能来访问数据库。

业务逻辑层主要根据系统设计的需要,通过构建系统的关键对象类,实现系统的大部分逻辑控制功能。

(3).数据访问层数据访问层只能被业务逻辑层访问,并且系统只通过它访问数据库来获取数据。

当数据访问层根据业务逻辑层的要求与数据库进行交互时,主要完成从数据库中提取数据库记录的查询和插入、修改与删除数据库记录的更新数据功能。

众所周知,数据库访问是动态信息管理应用系统中最频繁、最消耗资源的操作,所以必须优化对数据库的访问策略,以提高系统的性能和可靠性。

B/S 模式的三层结构是一种严格的分层定义,它首先将应用系统复杂的开发工作进行划分相对简单的小分块,然后在每一层中只实现系统相应层的功能设计,层间的交互由相邻层对应的功能模块进行调用,信息传递只由接口进行传送。

其三层结构示意图如图1所示:图1 B/S 三层结构示意图2.2 技术简介 不仅仅是下一版本的Active Server Pages(ASP),它是统一的Web 开发乎台,用来提供开发人员生成企业级Web 应用程序所需的服务。

的语法在很大程度上与ASP 兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。

可以通过在现有ASP 应用程序中逐渐添加 功能,随时增强该ASP 应用程序的功能, 可以无缝的与HTML 编辑器和其他编程工具一起工作。

当创建 应用程序时,开发人员可以选择使用Web 窗体或XML Web 服务,或以自己认为合适的方式进行融合。

每个功能都能得到同一结构的支持,能够使用多种身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。

接受客户端的数据请求:在用户进行查询时,当用户在客户端浏览器输入请求数据(如查询条件),然后进行提交时,用户的请求数据以HTTP请求字符串形式被发送回Web服务器。

在中,服务器端的Request对象负责处理请求字符串。

处理查询条件:对于用户的输入的查询条件,通过Request对象处理请求字符串的数据后,可根据得到的数据,综合处理并生成相应的SQL查询字符串。

其方法与常规的定义方法相同。

连接数据库进行数据操作并得到相应记录:在中,对数据的访问主要是通过对象来实现的。

对访问处理过程主要分为两个步骤:建立对数据库的连接和通过连接进行数据操作得到记录数据集。

将记录生成结果页面:DataSet对象作为标准的记录数据集,支持标准的记录处理方法,比如求记录总数、得到记录字段值等.在得到查询记录后,通过这些方法可以将查询结果生成页面。

结果页面的生成与提交:将查询结果写入结果页面后,Web服务器自动将页面发送回客户端浏览器。

同时,为了释放系统资源,应将创建的DataSet和Connection对象关闭并释放。

2.3 C#语言介绍C#是由Microsoft公司开发的一种新型程序设计语言。

由于它是从C和C++中派生出来的,因此具有C++的功能。

同时,它又像Visual Basic一样简单。

C#代表着程序设计语言演变的一个新阶段,它继承了C++和Java这两种世界上最重要的计算机语言的优点,并且还增加了指代、索引等创新性特点,同时,C#语言利用了.NET作为其强大的平台,使得它在Windows图形用户界面、 Web应用、XML Web Service及数据库等方面有广泛的应用。

程序设计语言C#的特点:1.与Web的紧密结合C#程序能方便的与Web程序进行集成。

利用的强大功能,C#能与Web标准,如HTML和XML相结合。

C#还能方便地开发Web服务。

紧密地结合SOAP (Simple Object Access Protocol),使得C#开发大规模深层次的分布式应用成为可能。

2.安全稳定C#特有的机制是其安全性的保障,同时它去除了C++中易造成错误的指针,增加了自动内存管理等措施,保证了C#程序运行的可靠性。

内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。

.NET平台提供的垃圾收集器(Garbage Collection, GC)将负责资源的释放与对象撤销时的内存清理工作。

同时,变量的初始化、类型检查、溢出检查等功能也充分保证了C#程序的安全稳定。

3.具有丰富的类库C#提供了大量的类,以满足网络化、多线程、面向对象系统的需要。

①能用相应的类来实现从低级网络操作到高层网络应用。

②语言包,提供的支持包括字符串处理、多线程处理、异常处理、数学函数处理等,可以用它简单地实现C#程序的运行平台。

③实用程序包,提供的支持包括哈希表、堆栈、可变数组、时间和日期等。

④输入输出包,用统一的“流”模型来实现所有格式的输入与输出,包括文件系统、网络、输入与输出设备等。

⑤图形用户界面的功能强大,不仅能实现Windows窗口应用程序,而且可以实现Web窗体应用。

4.灵活性和兼容性在简化C++语法的同时,C#并没有推动灵活性。

C#允许与C风格的需要传递指针型参数的应用程序接口进行交互操作,动态链接库的任何入口点都可以在程序中进行访问。

C#遵守.NET的CLS,从而保证了C#组件与其他语言(如Visual Basic Visual C++ , Jscript, J#等)的组件间的互操作性。

5.支持多线程C#中定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。

2.4 SQL server 2005简介SQL Server 2005是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。

SQL Server2005将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。

SQL Server 2005 提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案。

SQL Server 2005也提供了很多个新特性来节省精力、时间和金钱。

从编程到管理能力,这个版本的SQL Server都优于其他版本的产品,并且它还对SQL Server 2000中已经存在的特性进行了加强。

在系统开发中具有很强的优势:(1).NET 框架主机:使用SQL Server 2005,开发人员通过使用相似的语言,例如微软的Visual C# .NET和微软的Visual Basic,将能够创立数据库对象。