软件项目招标文件技术标书(_第1页
软件项目招标文件技术标书(_第2页
软件项目招标文件技术标书(_第3页
软件项目招标文件技术标书(_第4页
软件项目招标文件技术标书(_第5页
已阅读5页,还剩33页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.12.4.2供应商针对本项目技术服务类总体要求的理解在软件开发的过程中,我们一向遵循软件产品的以下原则:1、功能性 : 与一组功能及其指定的性质有关的一组属性,具体包括:适合性 : 与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性准确性 : 与能否得到正确或相符的结果或效果有关的软件属性互用性 : 与同其他指定系统进行交互的能力有关的软件属性依从性 : 使软件遵循有关的标准, 约定 , 法规及类似规定的软件属性安全性 : 与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性2、可靠性 : 与在规定的一段时间和条件下, 软件维持其性能水平的能力有关的一组属性,具体包括:

2、成熟性 : 与由软件故障引起失效的频度有关的软件属性容错性 : 与在软件故障或违反指定接口的情况下 , 维持规定的性能水平的能力有关的软件属性易恢复性 : 与在失效发生后 , 重建其性能水平并恢复直接受影响数据的能力以及为达此目的所需的时间和能力有关的软件属性3、易用性 : 与一组规定或潜在的用户为使用软件所需作的努力和对这样的使用所作的评价有关的一组属性,具体包括:易理解性 : 与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性易学性 : 与用户为学习软件应用所花的努力有关的软件属性易操作性 : 与用户为操作和运行控制所花努力有关的软件属性4、效率 : 与在规定的条件下, 软件的性能水

3、平与所使用资源量之间关系有关的一组属性,具体包括:时间特性 : 与软件执行其功能时响应和处理时间以及吞吐量有关的软件属性资源特性 : 与在软件执行其功能时所使用的资源数量及其使用时间有关的软件属性5、可维护性 : 与进行指定的修改所需的努力有关的一组属性,具体包括:.易分析性 : 与为诊断缺陷或失效原因及为判定待修改的部分所需努力有关的软件属性易改变性 : 与进行修改 , 排除错误或适应环境变化所需努力有关的软件属性稳定性 : 与修改所造成的未预料结果的风险有关的软件属性易测试性 : 与确认已修改软件所需的努力有关的软件属性6、可移植性 : 与软件可从某一环境转移到另一环境的能力有关的一组属性

4、,具体包括:适应性 : 与软件无需采用有别于为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性易安装性 : 与在指定环境下安装软件所需努力有关的软件属性遵循性 : 使软件遵循与可移植性有关的标准或约定的软件属性易替换性 : 与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性基于以上原则,根据项目的不同需求,我们将会考虑采用B/S 和 C/S 两种模式开发。1、 B/S 模式B/S 是 Brower/Server的缩写,客户机上只要安装一个浏览器( Browser ),如 NetscapeNavigator或 Internet Explorer,服务器安装Oracl

5、e 、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。B/S 模式较 C/S 模式:C/S 模式客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。C/S 模式对客户端的操作系统一般也会有限制,可能适应于Windows 系列操作系统,而不适用于Linux 、 Unix 等操作系统。而 B/S 最大的优点就是可以在任何地方进行操作而不

6、用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。 甚至可以在线申请,通过公司内部的安全认证(如 CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统,这在最大程度上满足了项目要求。系 统 采 用 的 是 目 前 较 流 行 的 一 种Web 应 用 程 序 开 源 框 架-Struts+Spring+Hibernate( SSH)。.集成 SSH框架的系统从职责上分为四层:表示层、业务逻辑层、 数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的We

7、b应用程序。其中使用 Struts 作为系统的整体基础架构,负责 MVC的分离, 在 Struts 框架的模型部分,利用 Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java 对象,然后编写基本的DAO接口,并给出Hibernate的 DAO实现,采用 Hibernate 架构实现的DAO类来实现Java 类与数据库之间的转换和访问,最后由Spring 完成业务逻辑。系统的基本业务流程是:在表示层中,首先通过JSP 页面实现交互界面,负责传送请求 (Request)和接收响应(Response),

8、然后 Struts根据配置文件(struts-config.xml)将 ActionServlet接收到的 Request委派给相应的 Action 处理。在业务层中,管理服务组件的Spring IoC容器负责向 Action 提供业务模型 (Model)组件和该组件的协作对象数据处理(DAO) 组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理 DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端

9、如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率的同时,也保证了软件产品的质量。2、 C/S 模式C/S ( Client/Server,客户机/ 服务器)模式又称C/S 结构,是20 世纪 80 年代末逐步成长起来的一种模式,是软件系统体系结构的一种。C/S 结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。功能的分布在于减少计算机系统的各种瓶颈问题。C/S 模式简单地讲就是基于企业内部网络的应用系统。与B/S( Brow

10、ser/Server,浏览器 / 服务器)模式相比, C/S 模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。C/S 结构服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如 ORACLE、 SYBASE、 InfORMix或 SQL Server。客户端需要安装专用的客户端软件。.C/S 结构的优点是能充分发挥客户端PC 的处理能力, 很多工作可以在客户端处理后再提交给服务器, 因此对应的优点就是客户端响应速度快。C/S 架构软件的优势与劣势:( 1)应用服务器运行数据负荷较轻。最简单的C/S 体系结构的数据库应用由两部分组成,即客户应用程

11、序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求; 客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑, 当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求, 服务器程序根据预定的规则作出应答,送回结果, 应用服务器运行数据负荷较轻。( 2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的, 并且通常把那些不同的 (不管是已知还是未知的)前台应用所不能违反的规则, 在服务器程序

12、中集中实现, 例如访问者的权限, 编号可以重复、必须有客户才能建立定单这样的规则。所有这些, 对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在 C/S 体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。 C/S 模式系统的开发:C/S 结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、 数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应

13、用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S 结构的软件需要开发不同版本的客户端软件。但是,与B/S 结构相比, C/S 技术发展历史更为“悠久 ”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S 技术应是更成熟、更可靠的。12.4.3项目总体架构及技术解决方案一、项目总体架构(一)、SSH框架介绍和分析大型企业级Web应用系统的开发通常要求有一个良好的软件架构、便于协作开发和扩展升级,而传统的开发模式不能很好地满足这些要求。.基于当前Web 应用程序开发面临的问题,项目结合目前比较流行的开源框架SSH(Spring 、Strut

14、s 、Hibernate),具体讨论其基本相似性及有关基本概念,提出了一种开发JavaEE Web应用的轻量级解决方案,此系统架构可以在短期内搭建结构清晰、可复用性好、可扩展性好、维护方便的Web应用程序。1、框架技术框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性。JavaEE 复杂的多层结构决定了大型的JavaEE 项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、开源的基于JavaEE 的应用框架,其中主流的框架技术有:基于MVC模式的Struts框架、基于IoC 模式的Spring框架以及对象/ 关系映射框架Hibernate等。2、框架共同点所有

15、现代的网络开发框架几乎都遵循了模型- 视图 - 控制 (MVC)设计模式:商业逻辑和描述被分开, 由一个逻辑流控制器来协调来自客户端的请求和服务器上将采取的行动。这条途径成为了网络开发的事实上的标准。每个框架的内在的机制当然是不同的,但是开发者们使用来设计和实现他们的Web应用软件的API 是很类似的。差别还存在于每个框架提供的扩展方面 , 例如标签库,JavaBean 包装器等。所有的框架使用不同的技术来协调在Web应用程序之内的导航, 例如 XML配制文件,java属性文件或定制属性。所有的框架在控制器模块实现的方法方面也存在明显的不同。例如 ,EJB 可能实例化在每个请求中需要的类或使用

16、Java 反射动态地调用一个适当的行为( Action )类。另外 , 不同框架在各自引入的概念上也有所不同。例如 , 一个框架可能定义用户请求和反应场所, 而另外一个框架可能仅仅定义一个完整的流: 从一个请求到多个响答和随后的再请求。各种 Java 框架在它们组织数据流的方法方面是很类似的。在请求发出后,在应用程序服务器上产生一些行动;而作为响应, 一些可能包含对象集的数据总是被发送到WEB层。然后从那些对象:可能是有setter和 getter方法的简单类、JAVABEANS、值对象、或者一些集合对象中提取数据。现代的Java 框架还想方设法简化开发者的开发任务,如通过使用简易的 API

17、、数据库连接池、甚至数据库调用包等提供自动化的追踪方式来实现。一些框架或者能够钩进( hooked into )另外的 JavaEE 技术中 , 例如 JMS(Java 消息服务 ) 或 JMX,或把这些技术集成到一起。服务器数据持续性和日志也有可能成为框架的一部分。.3、 MVC模式MVC模式是一个用于将用户界面逻辑与业务逻辑分离开来的基础设计模式,它将数据处理、界面以及用户的行为控制分为:Model(模型) View(视图) Controller(控制器) 。Model :负责当前应用的数据获取与变更及相关的业务逻辑。可用JAVABEAN来体现;View :负责显示信息。可以使用JSP、V

18、ELOCITY模板等技术;Controller:负责收集转化用户的输入。常用一个SERVLET来实现;View 和 Controller都依赖于Model,但是 Model 既不依赖于View,也不依赖于Controller,这是分离的主要优点之一,这样 Model 可以单独的建立和测试以便于代码复用,View 和 Controller只需要 Model 提供数据,它们不会知道、也不会关心数据是存储在SQLServer 还是 Oracle 数据库中或者别的什么地方。4、 WEB层框架 StrutsStruts是一个在JSP Model2 基础上实现的MVC框架,其主要的设计理念是通过控制器将表

19、现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性及可重用性。Struts框架的体系结构如下图所示:下面就上图所示的体系结构图分析Struts框架中的 MVC组件。?视图 (view) :视图部分主要由JSP 页面组成, 其中没有流程逻辑、业务逻辑和模型.信息,只有标记。Struts自身包含了一组标记库(TagLib),这也是 Struts的精华之一,灵活运用它们可以简化JSP页面的代码,提高开发效率。?控 制 器 (controller): Struts中 的Controller主 要 是 其 自 身 提 供 的ActionServlet。 ActionServlet接收所有来自客户端的请

20、求并根据配置文件(struts-config.xml)中的定义将控制转移到适当的Action对象。?模型 (model) : Struts没有定义具体Model 层的实现, Model 层通常是和业务逻辑紧密相关的, 有持续化的要求。 目前在商业领域和开源世界, 都有一些优秀的工具可以为 Model 层的开发提供便利。5、业务逻辑层框架SpringSpring是一个解决了许多JavaEE 开发中常见问题并能够替代EJB技术的强大的轻量级框架。这里所说的轻量级指的是Spring框架本身, 而不是指 Spring只能用于轻量级的应用开发。 Spring 的轻盈体现在其框架本身的基础结构以及对其他应

21、用工具的支持和装配能力。与 EJB 这种庞然大物相比,Spring可使程序研发人员把各个技术层次之间的风险降低。Spring框架的核心是控制翻转IoC(Inversion of Control)/依赖注入DI(DependenceInjection)机制。 IoC 是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。DI 是对 IoC 更形象的解释,即由容器在运行期间动态地将依赖关系( 如构造参数、构造对象或接口) 注入到组件之中。Spring采用设值注入

22、( 使用 Setter方法实现依赖) 和构造子注入( 在构造方法中实现依赖) 的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC 容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。Spring框架的结构如下图所示。Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与.其他一个或多个模块联合实现。Spring Core Container是一个用来管理业务组件的IoC 容器,是 Spring应用的核心; Spring DAO 和 Spring ORM 不仅提供数据访问的抽象模块,还集成了对Hibernate

23、 、JDO和 iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;Sprnig Web模块提供了Web应用的一些抽象封装,可以将Struts 、 Webwork等 Web框架与 Spring 整合成为适用于自己的解决方案。Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。6、持久层框架HibernateO/Rmapping 技

24、术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。 Hibernate是目前最为流行的O/R mapping 框架,它也是开源软件, 它在关系型数据库和 Java 对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作,它不仅负责从Java 类到数据库表格( 以及来自Java 数据类型的SQL数据类型 ) 的映射 , 而且还提供数据查询和检索能力, 并能大大减少花在 SQL和 JDBC手工数据处理上的开发时间。 Hibernate 工作原理如下图所示:Hibernate通过对 JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于OO 程序的开发

25、,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制 xml 映射文件。底层 数据库的改变只需 要简单地更改初始化配置文件(hibernate.cfg.xml或 者perties)即可,不会对应用程序产生影响。Hibernate有自己的面向对象的查询语言HQL, HQL功能强大,支持目前大部分主流的数据库,如Oracle 、 DB2、 MySQL、 Microsoft SQL Server等,是目前应用最广泛的O/R 映.射工具。 Hibernate为快速开发应用程序提供了底层的支持。(二)、基于 SSH框架的 Web应用架构分析与设计前面分析了基于J

26、avaEE 的 SSH框架技术,现代的企业开发中,越来越多地引入了多层架构设计模式。SSH就是其中之一, SSH架构是当前主流的架构,在很多领域,包括金融、电信项目, 大型门户网站均选择该架构作为业务支撑架构,开发流程也已经非常成熟。但是该结构开发起来,依旧存在一些问题。分析这些问题,得先从SSH架构的组成说起。SSH为 Struts+Spring+Hibernate的组成方式, Struts实现 MVC,Spring负责架构的结合, Hibernate进行数据的持久化。通常其分层开发的结构图如下:这样的结构,系统从职责上分为四层:WEB层、业务逻辑层、数据持久层和实体层。其中使用 Strut

27、s作为系统的整体基础架构,负责 MVC的分离, 在 Struts框架的模型部分,利用 Hibernate框架对持久层提供支持,业务层用Spring 支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java 对象,然后编写基本的DAO接口,并给出Hibernate的 DAO实现,采用Hibernate架构实现的DAO类来实现Java 类与数据库之间的转换和访问,最后由Spring完成业务逻辑。系统的基本业务流程是:在 WEB表示层中, 首先通过JSP页面实现交互界面,负责传送请求 (Request) 和接收响应 (Response) ,然后 Struts根据配置

28、文件 (struts-config.xml)将.ActionServlet 接收到的 Request 委派给相应的 Action 处理。在业务层中,管理服务组件的 Spring IoC 容器负责向 Action 提供业务模型 (Model) 组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。 而在持久层中, 则依赖于 Hibernate 的对象化映射和数据库交互, 处理 DAO组件请求的数据,并返回处理结果。采用上述开发模型, 不仅实现了视图、 控制器与模型的彻底分离, 而且还实现了业务逻辑层与持久层的分离。 这样无论前

29、端如何变化, 模型层只需很少的改动, 并且数据库的变化也不会对前端有所影响, 大大提高了系统的可复用性。 而且由于不同层之间耦合度小, 有利于团队成员并行工作,大大提高了开发效率。但是对于当前日益复杂化的 WEB2.0的开发,却存在不少问题,归纳起来主要有以下的不足:?DAO和服务层容易出现职责不明,由于按照MVC逻辑,业务代码应该写在StrutsAction里,但是其事务的提供,却是配置在Service层。为了一组在逻辑上完整的数据操作业务逻辑,需要涉及两个层(Service 、 Action )来进行编写,遇到判断的情况下,为了保证完整的事务操作,则需要将业务代码移到Service层完成,

30、而通常习惯了在Struts Action里调用多次Service而产生多个事务, 但在出现Exception导致出错时 , 操作之前调用的Service事务的业务数据没有被回滚。? 当需要返回的数据供 AJAX使用,操作 JSON或 XML的大量使用时。 开发起来会很费力,一段同样的业务代码,为了使用AJAX和 XML可能需要重新编写一次,或者在同一个 ACTION里通过标志来判断,对分层结构造成了比较糟糕的破坏。如果设计得不好,为了使用JSON和 XML还得额外增加大量的配置,严重降低了开发效率。因此,为了克服这些缺点,对于SSH架构,进行了重新的分层,共享了业务代码。简化了开发、增强了与A

31、JAX技术、 XML技术的结合。提供了一种更高效的开发模式。其开发的结构图如下:.这个架构的优点在于,由于业务代码统一实现BusinessService接口,使得只需要相对固定的几个Struts Action类调用 Service层的方法,便可以完成工作。包括JSON格式输出, XML输出及 WebService 输出均调用Service层方法来完成功能。这样便实现了业务代码的分离,以及与前端框架的极大解耦。二、技术解决方案开发一款好的软件产品,离不开一个好的开发过程。开发期间对过程的把控程度,往往会决定软件产品的质量好坏。因此,开发前期的计划流程是必不可少的。本公司软件系统的开发是按阶段进行

32、的,一般划分为以下阶段:.项目可行性分析可行性研究报告需求分析软件需求说明书概要设计概要设计说明书详细设计数据库设计说明书编码详细设计说明书测试测试计划修改完善测试分析报告验收验收报告维护用户操作手册1、可行性分析可行性分析的目的是明确系统的目的、功能和要求,了解目前所具备的开发环境和条件,分析的内容有: 在技术能力上是否可以支持 在经济上效益如何 在法律上是否符合要求 与部门、企业的经营和发展是否吻合 系统投入运行后的维护有无保障.可行性讨论的目的是判定软件系统的开发有无价值,分析和讨论的内容形成“系统开发计划书”,主要内容有:(1) 开发的目的及所期待的效果(2) 系统的基本设想,涉及的业

33、务对象和范围(3) 开发进度表,开发组织结构(4) 开发、运行的费用(5) 预期的系统效益(6) 开发过程中可能遇到的问题及注意事项。2、需求分析需求分析是软件系统开发中最重要的一个阶段,直接决定着系统的开发质量和成败。因此必须要明确用户的要求和应用现场环境的特点,了解系统应具有哪些功能、数据的流程和数据之间的联系。需求分析应有用户参加,到使用现场进行调研学习,软件设计人员应虚心向技术人员和使用人员请教,共同讨论解决需求问题的方法,对调查结果进行分析,明确问题的所在。需求分析阶段的工作, 可以分为四个方面: 问题识别 , 分析与综合 , 制订规格说明, 评审。(一)、问题识别从系统角度来理解软

34、件, 确定对所开发系统的综合要求, 并提出这些需求的实现条件, 以及需求应该达到的标准。这些需求包括:功能需求( 做什么 ), 性能需求 ( 要达到什么指标),环境需求 ( 如机型 , 操作系统等 ), 可靠性需求 ( 不发生故障的概率), 安全保密需求, 用户界面需求 , 资源使用需求( 软件运行是所需的内存,CPU 等 ), 软件成本消耗与开发进度需求, 预先估计以后系统可能达到的目标。(二)、分析与综合逐步细化所有的软件功能 , 找出系统各元素间的联系 , 接口特性和设计上的限制 , 分析他们是否满足需求 , 剔除不合理部分 , 增加需要部分。 最后 , 综合成系统的解决方案 , 给出要

35、开发的系统的详细逻辑模型 ( 做什么的模型 ) 。(三)、制订规格说明书即编制文档 , 描述需求的文档称为软件需求规格说明书。.(四)、评审对功能的正确性, 完整性和清晰性, 以及其它需求给予评价。评审通过才可进行下一阶段的工作 , 否则重新进行需求分析。需求分析的内容最终会编写成“系统需求分析报告”。3. 系统设计(一)、设计原则和设计要求描述对本软件系统进行概要设计的原则,通常可以考虑以下几方面的内容:1、命名规则;2、模块独立性原则;3、边界设计原则;4、数据库设计规则;5、必须的安全措施;6、安全性和保密原则;7、系统灵活性要求;8、系统易操作性要求;9、系统可维护性要求;(二)、系统

36、逻辑设计系统逻辑设计主要是根据软件产品需求规格说明书和软件产品数据字典建立系统的逻辑模型。此种模型暂时与系统的物理因素( 例如:计算机、 数据库管理系统) 无关。它是系统需求与物理实现的中间结构,它的主要结果是建立:系统结构图、 系统界面结构图、系统出错处理、以及系统开发技术说明。(三)、系统组织设计系统组织设计通过系统组织表描述本系统由哪些子系统( 模块 ) 组成,这些子系统与业务职能之间的关系,以及各个子系统的安装地点。系统组织表的格式如下:子系统编号英文名称中文名称业务职能安装地点备注.其中:1、子系统编号给出本系统中指定子系统的顺序编号。如果本系统末划分为多个子系统,仅由一个运行模块组

37、成;则本项内容仍需要描述,但是本表内容只有一行。在一个系统中有可能安装若干个相同的子系统,在这种情况下,应该视为一个子系统,并且对多个安装地点分别进行描述。如果相同的子系统通过系统设置,实现的业务职能具有明显差异时,应该采用多行进行分别描述,并且在备注中说明其差异所在。2、子系统英文名称给出本子系统的英文名称,该名称是在应用软件中实际使用的可执行文件名称,必须能够说明该子系统的特点。若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。3、子系统中文名称给出本子系统的中文名称,该名称必须能够说明该子系统的特点。若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行

38、。4、业务职能描述该子系统完成的核心业务。5、安装地点描述该子系统实际安装的部门、或者某个具体地点。6、备注针对该子系统,需要说明的其它有关问题。(四)、系统结构设计1、系统特性表系统特性是系统中完成某项具体操作的基本单元, 它由入口参数, 出口参数以及处理过程三部分组成。 系统特性可以具有操作界面, 也可以没有操作界面; 可以被其它操作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、或者系统特性;但是不允许递归调用 ( 调用自己 ) ,包括间接递归调用。当系统由多个子系统( 模块 ) 组成时,每个子系统分别使用一张系统特性表进行描述。系统特性表的格式如下:.子系统编号:子系统英文

39、名称:子系统中文名称:特性编号系统特征系统特征操作功能调用对象被调用对象备注英文名称中文名称说明:其中:( 1)、子系统编号含义同上。( 2)、子系统英文名称含义同上。( 3)、子系统中文名称含义同上。( 4)、特性编号整个系统所有特性的统一编号。( 5)、系统特性英文名称系统特性的英文正式名称,将来用于软件开发中,必须符合命名规范。( 6)、系统特性中文名称系统特性的中文正式名称,来源于需求规格说明书中,系统特性一节中的有关描述。( 7)、操作功能是指该特性实际完成的操作说明。( 8)、调用对象是指调用该系统特性的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。( 9)、被调用对象

40、是指被该系统特性调用的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。( 10)、备注.描述与该系统特性有关的其它注意事项。( 11)、说明描述与该系统特性表有关的其它注意事项。(五)、系统接口设计1、系统接口表接口作为系统的一种输入输出形式,分为网络接口、数据库接口、RS-232 串行通讯接口、 IEEE 485 串行总线接口、并行I/O 接口等等多种类型。当系统由多个子系统( 模块 ) 组成时,每个子系统分别使用一张系统接口表进行描述。系统接口表的格式如下:子系统编号子系统英文名称子系统中文名称接口编号接口名称接口类型接口性质接口速率接口协议备注说明:其中:( 1)、子系统编号含

41、义同上。( 2)、子系统英文名称含义同上。( 3)、子系统中文名称含义同上。( 4)、接口编号整个系统所有接口的统一编号。( 5)、接口名称系统接口的正式名称,必须符合通常习惯。( 6)、接口类型指出该接口所传输的数据在该模块中起到的作用。.( 7)、接口性质指出该接口在通讯中起到的作用,这里的作用可以是:输入、输出、双向。( 8)、接口速率指出该接口的传输速率。如果该接口依赖于其它通讯方式,那么传输速率将不高于它所依赖的其它通讯方式的速率。( 9)、接口协议给出该接口实际使用的通讯协议。( 10)、相关对象给出直接使用本接口的系统对象,这里的系统对象,可以是操作界面,也可以是系统特性。( 1

42、1)、备注描述与该系统接口有关的其它注意事项。( 12)、说明描述与该系统接口表有关的其它注意事项。(六)、系统完整性设计描述系统对象 ( 数据元、数据类) ,所受到的逻辑约束关系。当系统由多个子系统( 模块 ) 组成时,每个子系统应分别使用一张系统完整性约束表进行描述。系统完整性约束表的格式如下:子系统编号子系统英文名称子系统中文名称约束编号完整性名称相对对象名约束表达式备注说明:其中:( 1)、子系统编号含义同上。( 2)、子系统英文名称.含义同上。( 3)、子系统中文名称含义同上。( 4)、约束编号整个系统所有约束的统一编号。( 5)、完整性名称系统完整性约束的正式名称,必须符合通常习惯

43、。( 6)、相对对象名完整性约束中的相关对象( 数据元和数据类) 。( 7)、约束表达式用一阶逻辑表达式表达的约束方程式。( 8)、备注描述与该系统完整性约束有关的其它注意事项。( 9)、说明描述与该系统完整性约束表有关的其它注意事项。系统设计具体可根据系统的规模分成概要设计和详细设计两个阶段,概要设计包括: 划分系统模块 每个模块的功能确定 用户使用界面概要设计 输入输出数据的概要设计 报表概要设计 数据之间的联系、流程分析 文件和数据库表的逻辑设计 硬件、软件开发平台的确定 有规律数据的规范化及数据惟一性要求。系统的详细设计是对系统的概要设计进一步具体化,其主要工作有: 文件和数据库的物理

44、设计 输入输出记录的方案设计 对各子系统的处理方式和处理内容进行细化设计 编制程序设计任务书。.程序说明书通常包括程序规范、功能说明、 程序结构图, 通常用 HPIPO( HierarchyPlusInput Process Output)图描述。4、编码根据程序设计任务书的要求,用计算机算法语言实现解题的步骤,主要工作包括: 模块的理解和进一步划分 以模块为单位的逻辑设计,也就是模块内的流程图的编制 编写代码,用程序设计语言编制程序 进行模块内功能的测试、单元测试。程序质量的要求包括: 满足要求的确切功能 处理效率高 操作方便,用户界面友好 程序代码的可读性好,函数、变量标识符合规范 扩充性

45、、维护性好。降低程序的复杂性也是十分重要的,系统的复杂性由模块间的接口数来衡量,一般地讲,n 个模块的接口数的最大值为n(n-1)/2;若是层次结构, n 个模块的接口数的最小值为n-1 。为使复杂性最小,对模块的划分设计常常采用层次结构。要注意编制的程序或模块应容易理解、容易修改, 模块应相互独立,对某一模块的修改应对其他模块的功能不产生影响,模块间的联系尽可能少。5. 系统测试测试是为了发现程序中的错误,对于设计的软件,出现错误是难免的。系统测试通常由经验丰富的设计人员设计测试方案和测试样品,并写出测试过程的详细报告。系统测试是在单元测试的基础上进行的,包括: 测试方案的设计; 进行测试;

46、 写出测试报告; 用户对测试结果进行评价。具体测试方式如下:.1. 黑盒测试黑盒测试也称为功能测试, 它着眼于程序的外部特征, 而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒, 不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能正常使用,程序是否能接收输入数据产生正确的输出信息,并且保持外部信息( 如数据库或文件) 的完整性。 黑盒测试是基于用户角度进行的测试。2. 白盒测试本公司系统软件测试的主要方法之一,也称结构测试、 逻辑驱动测试或基于程序本身的测试。测试者需要了解待测试程序代码的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。3. 灰盒测试可以理解为静态的白盒测试或动态的黑盒测试,灰盒就是界于黑白之间,对软件内部有所了解 ,但不见得到了如指掌的程度,却可以结合这些了解做些比黑盒多点的测试。4. 文档测试文档测试涵盖面很大,在软件的各个版本中均有所使用。随着软件版本的变化,文档测试的测试内容也有所变化。在需求分析以及原型架构阶段,文档测试主要目标是:Sitemap 、动作分解列表、数据库ER图、 UML用例图、流程图、需求文档等文档。文档测试主要检查文档的正确性、完整性和可理解性。正确性是指不要把软件的功能和操作写错,也不允许文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论