《软件建设方案课案.doc》由会员分享,可在线阅读,更多相关《软件建设方案课案.doc(132页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date软件建设方案课案_x0001_一、 整体设计1 设计原则平台建设将以国家各类技术规范和业务要求为依据,采用业界成熟的解决方案,采用BS模式,建立软件系统,建设统一的业务处理体系。先进性:以促进工作安全发展为指导原则,确保系统成熟稳定的同时放眼未来迎合发展。兼容性:系统平台为开放式、标准化平台,满足未来本单位各服务构建及各机关单位服务及应用的无缝对接。安全性:系统应对数
2、据库的存储和访问提供有效的安全措施,防止数据链及数据通讯链受到恶意攻击,访问调用有痕且追溯可查。可扩展性:系统的构建及数据的交互满足共享模式,采用灵活、开放的模块化设计为系统扩展、升级及可预见的管理模式的改变留有余地。可靠性:多维度确保系统的正常运转与数据安全可靠。经济性:实现最优化的系统设备配置,降低系统造价及运营成本。易用和易维护性:系统应采用简洁、友好的人机界面,在出现系统故障时,能够简便快捷的进行处理。共享性:系统共享性的要求为了保障各业务体系间的数据流转的流畅且在安全性保障的前提条件下,构建协同校验、统一管理的建设精神。二、 技术指标1 技术路线 应用平台:平台系统遵循JAVA EE
3、或.NET标准; 运行模式:B/S模式的五层架构; 扩展接口:基于Web Service、JSON等标准规范,采用XML的数据传输格式;低耦合应用组件进行分布式部署、组合和使用,具备未来可扩展增减业务模块的架构; 安全架构:符合HTTPS的安全架构; 操作系统:支持UNIX、LINUX和Windows操作系统; 权限控制:基于角色的访问控制RBAC模型的权限控制,可动态支持功能操作权限和数据访问权限灵活配置; 登录模式:支持单点登录与统一安全认证、支持数字证书验证; 系统架构:分布式系统基础架构,采用基于Hadoop技术或其它类似技术的大数据处理框架; 2 系统架构系统采用Browser/Se
4、rver的B/S模式(浏览器/服务器模式),服务器端采用Windows Server版操作系统。网络中心配备若干台高性能服务器,实行应用和数据分离的原则,加强系统运行的稳定性和安全性。服务器采用Windows Server2003以上版本,后台采用SQL Server数据库,前后台开发工具采用.net等。整体系统分为:基础设施层(系统所需的基础设备、系统、中间件等)、资源层(实现具体功能的各种数据与信息库)、应用支撑层(对所有应用系统提供各种数据访问功能的中心服务系统)、应用系统层(实现具体功能的各种应用系统)、服务层。资源层提供集中的数据访问,包括数据连接池控制、数据库安全控制和数据库系统。
5、集中的数据访问能够在大量用户同时并发访问时共享有关连接等信息,从而提高效率,集中的数据库安全控制,使任何来自互联网的数据库访问都必须经过强制的安全管理,不允许直接访问数据库的行为,杜绝安全隐患。应用层通过提供统一的数据服务接口,为各个应用系统提供服务,应用系统的表现可以是网站、客户端系统、Web服务以及其他应用。并通过目录与负载均衡服务提供统一的负载均衡服务。任何一个应用服务器都可以同时启动多个服务,而通过目录与负载均衡服务来进行负载均衡,从而为大量用户并发访问时提供高性能服务。信息集成分析平台应用服务器提供核心服务,包括数据服务、管理服务、基本安全服务、其他业务服务等;数据同步服务器将数据有
6、条不紊的同步到各个数据库;系统更新与版本升级服务器提供各个系统的版本升级管理,使任何一个系统都保持最新版本;Web日志分析服务提供用户访问分析,提高平台后期修改、维护、更新的针对性。3 系统安全(1)基于用户角色的权限控制实现应用层安全。一是严格控制不经授权的用户访问系统。二是每个合法访问系统的用户都具备一定的权限,以限制其操作范围。在业务系统操作时,只有具备相应业务系统操作权限的人员,才可办理相应的业务。将结合统一用户与权限管理实现基于用户角色的权限控制实现应用层安全。(2)权限管理方案对岗位(角色) 的授权分为两个部分,一是业务操作的授权,菜单功能授权,二是数据的授权。通过管理员对分部门进
7、行分别设置不同的角色,通过各种角色进行分配菜单和功能的权限,以及设置不同的数据权限。(3)加密策略加密主要包括数据的加密传输和数据的加密存储。对于普通数据加密传输,可以通过SSL 加密在 Internet 上传输,保证数据不被窃取。对于保密程度较高的信息可以加密存储,提供一个加密模块,采用 RSA 加密算法进行加密。通过加密模块,用户可以选择需要加密的数据表并存储下来。所有需要加密的数据表的数据在存储之前都需要通过加密模块检测,如果数据需要加密存储,则调用加密算法进行加密,加密后的密文存放倒数据库中;如果不需要加密,则直接存储明文。同样,在调阅数据的时候,如果是加密数据则通过加密算法进行解密还
8、原成明文,展现在用户面前;否则直接提取数据展现在用户面前。(4)信息保密由于网络的互联性和开放性,信息在网络中的传输不可避免地存在被监听的可能,要实现信息传输的保密性只有对信息进行加密,以密文方式传输,即使被监听,监听者也无法明白密文所表示的信息。平台对采集或传输的数据按照标准的加密组件进行了数据的加密,当数据到达后由对应的解密组件进行解密,提供了信息的加解密机制。信息也可能在传输过程中被截获篡改后再转发出去,造成信息的完整性受损,平台安全管理平台对接收后数据采用完整性校验算法进行完整性校验,被改动的信息即被认为是无效信息,并对无效信息进行丢弃不予保存,以此保证信息的完整性。(5)数据备份对于
9、系统,应对重要数据服务器进行一次完全的系统的灾难备份,将系统及其上数据(成果数据或非成果数据)完全备份到磁带库中,将灾难备份介质按照介质安全措施安全保存。对于成果数据,我们建议进行一次完全备份, 在完全备份的基础上进行差量备份。这主要是因为成果数据不经常被修改的缘故,备份起来比较方便。对于非成果数据,我们建议进行一次完全备份,在完全备份的基础上进行增量备份,建议每进行一次修改后就进行增量备份,标记介质后保存好增量备份的磁带介质。4 性能指标(1)查询指标:简单查询:单类信息精确条件查询,要求响应时间小于3秒;关联查询:基于要素的不少于5类信息查询返回不大于5秒;组合查询:基于多条件组合查询,每
10、1000万数据规模要求响应时间不大于1分。(2)稳定性指标:系统平均无故障(影响业务正常办公的系统故障)时间300天。(3)统计分析性能要求:常规统计报表生成时间1分钟;定制统计报表生成时间10分钟。5 数据建设平台数据量主要是检测数据,在不影响系统使用的情况下,通过扩展存储空间,适应未来业务数据容量的增长。6 信息安全l 文件加密:整个系统的文件支持三级加密策略:不加密;中度加密;深度加密加密方式由管理员直接配置,满足不同用户的需求;l 密码加密:用户的密码在存储时进行不可逆的加密,保证了密码不会外泄。即使是管理员也无法获取用户的密码信息;l 验证码:采用用户名+验证码登录模式登录系统;l
11、加密锁:提供用户端加密锁,只有待有加密锁的用户才可以访问交互系统,适用于内外网分开控制;l 新一代自主研发的云存储架构、数据冗余式备份、数据加密存储,确保数据存储安全;l IPS入侵防御系统、内外网分离构架、SSL加密传输技术等,确保数据传输安全; l 完善的安全管理制度,强大的多级权限管理功能,防止用户数据泄密,确保管理行为安全;l 内外网分离架构,各模块采用独立内外网架构,以及冗余分布式设计,无单点故障,为系统对系统灾难的抵抗能力和恢复能力提供了保证;l 支持HTTPS通道访问加密和防DOS攻击,记录访问请求日志,通过HTTPS保证传输信息加密安全性。同时可以防止蜘蛛爬虫的信息采样;l 支
12、持SSL传输加密POP/SMTP服务器收发邮件,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,保证邮件传输过程中的信息不泄漏,包括用户的用户名、密码、信件等信息都会非常安全。SSL服务器证书由全球最大的安全证书机构verisign颁发。l 完善的应用级别权限控制:基于个人、单位、部门、群组、角色、岗位、级别的多维度权限控制,系统可以针对以上属性进行灵活的权限设定,确保信息安全的可定义性和可执行性;l 三员分离安全控制:为避免单一系统管理员的权限过于集中,引发风险,管理员将权利进行拆分,设立了三类管理员:系统管理员、安全管理员、审计管理员。系统管理员主要负责系统的日
13、常运行维护;安全管理员主要负责账户管理、信息设置和分级授权;审计管理员主要对系统管理员、安全管理员和普通用户的操作行为进行审计跟踪分析和监督检查。通过这种分权管理,相互制约,相互监督的机制,可以满足国家对于涉密单位的信息系统专门制定了安全登记保护密码安全控制;l 账号密码的更换周期控制:密码尝试失败的账户冻结控制;密码强弱度的校验等措施,有效保证了用户密码的安全使用;l 定期对存储数据库进行自动备份。l 操作日志监控功能,用户操作行为日志全程记录。l 防SQL注入、页面篡改。7 执行标准推荐l 信息技术开放系统互连网络层安全协议(GB/T 17963)l 软件工程术语(GB/T 11457-1
14、995)l 山东省政府网站内容规范和技术规范建设指南l 计算机软件可靠性和可维护性管理(GB/T 14394-2008)l 计算机信息系统安全等级保护网络技术要求(GB/T 387-2002)基础标准l 信息技术软件工程术语(GB/T 11457-2006)l 计算机软件开发规范(GB 8566-88)l 信息处理各种图的文件编辑符号和约定(GB/T 1526-1989)l 信息处理系统计算机系统配置图符号及约定(GB/T 14085-1993)l 信息技术软件维护(GB/T 20157-2006)l 信息安全技术-信息系统通用安全技术要求(GB/T 20271-2006)l 信息技术软件生存
15、周期过程开发标准(GB/T 8566-2007)l 信息技术软件生存周期过程(GB/T 8566-2001)l 软件支持环境(GB/T 15853-1995)l 软件维护指南(GB/T 14079-1993)l 算机过程控制软件开发规程(SJ/T 10367-1993(2009)计)l 信息技术软件包质量要求和测试(GB/T 17544-1998)l 计算机软件测试规范(GB/T 15532-2008)文档标准l 计算机软件文档编制规范(GB/T 8567-2006)l 计算机软件产品开发文档编制指南(GB/T 8567-1988)l 计算机软件需求规格说明规范(GB/T 9385-2008)
16、管理标准l 计算机软件配置管理计划规范(GB/T 12505-1990)l 软件工程产品质量(GB/T 16260-2006)l 计算机软件质量保证计划规范(GB/T 12504-1990)l 计算机软件可靠性和可维护性管理(GB/T 14394-2008)l 信息技术软件生存周期过程风险管理(GB/T 20918-2007)l 信息安全技术-信息系统通用安全技术要求(GB/T 20271-2006)机房建设标准l 计算机机房用活动地板技术条件(GB/T 6550-1986)l 电子信息系统机房设计规范(GB 50174-2008)l 计算机站场地技术条件(GB 2887-1989)l 通信局
17、站接地设计暂行技术规定(YDJ26 1989)l 电子计算机机房施工及验收规范(SJ/T 30003-1993)综合布线标准l 建筑与建筑群综合布线系统工程涉及规范(CECS 72.97)l 建筑与建筑群综合布线工程施工与验收规范(CECS 89.98)规范l 计算机信息系统集成资质等级评定标准(最新)l 计算机信息系统集成项目经理资质管理办法三、 互联互通平台内数据能够互联互通,解决“信息孤岛”、实现统一资源管理、互联互动、保护投资等问题。统一的接口通讯协议,使得集成系统施工方式得到统一,可保证各套件的功能完整性,并且后期调试、维护均有保障。夯实一个数据资源中心,搞定了后台数据基础,对各类数
18、据进行加工、处理、计算,形成相应的成果,供我们使用和判断。所有的公共功能由平台统一提供,平台上开展各项业务的模块,各个业务模块之间信息互联互通,协同工作。遵循一定的标准和规范,提高系统标准化程度,同时也将进一步促进软件系统的标准化和产品化。四、 大数据和智能化分布式系统基础架构,采用基于Hadoop技术或其它类似技术的大数据处理框架,采用智能自动分派事项的算法。大数据平台架构设计沿袭了分层设计的思想,将平台所需提供的服务按照功能划分成不同的模块层次,每一模块层次只与上层或下层的模块层次进行交互(通过层次边界的接口),避免跨层的交互,这种设计的好处是:各功能模块的内部是高内聚的,而模块与模块之间
19、是松耦合的。这种架构有利于实现平台的高可靠性,高扩展性以及易维护性。比如,当我们需要扩容Hadoop集群时,只需要在基础设施层添加一台新的Hadoop节点服务器即可,而对其他模块层无需做任何的变动,且对用户也是完全透明的。五、 用户体验和技术切实满足工作快捷有效的符合需要的用户操作流程,采用Angular或类似技术。1 减少HTTP请求数用户在打开一个页面的时候,后台程序响应用户所需的时间并不多,用户等待的时间主要花费在下载页面元素上了,即HTML、CSS、JavaScript、Flash、图片等,统计显示。所以,想要提高页面打开速度,就要减少HTTP请求数:1)减少不必要的HTTP请求,例如
20、用CSS圆角代替圆角图片,减少图片的使用。2)对一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。2 感官体验的改善感官体验是用户体验中最直接的感受,给用户是呈现视听上的体验,系统的舒适性很关键,用户第一眼看到系统的感受。改善方法:对于系统的调整需要针对系统的目标人群进行分析,然后再在系统的设计细节上进行适当的改善,如系统设计风格、色彩的搭配、页面的布局、页面的大小、图片的展示、系统字体的大小、LOGO的空间等。3 交互体验的改善交互体验是呈现给用户操作上的体验,强调易用/可用性。4 目标信息要醒目而亲近在关注缩短完
21、成路径这个问题的时候,优化操作步骤是第一位的。5 目标信息保持更新在更新系统上内容的时候,不要过于追求量,而要追求质,更新再多的信息,如果不能保证质量的话,这样就等于没有更新。且系统的内容只有经常的更新,才能给人们一种新鲜的感觉,也能满足用户的需求。六、 平台扩展性基于Web Service、JSON等标准规范,采用XML的数据传输格式,低耦合应用组件进行分布式部署、组合和使用,具备未来可扩展增减业务模块的架构,例如SOA等。“软件的核心是重用,方法是分离,关键是标准”,组件化基础业务平台依然是遵循这个原则。业务基础平台的组件化,并不是所有的内容全部组件化,有些内容是无法分离出去的,因此首先要
22、把业务基础平台的内核分离出来,建立一个业务基础平台的微内核,微内核是跟每一个业务组件紧密相关的。然后把业务基础平台中可以分离出来的内容单独作为一个组件,即公共组件,从而实现业务组件和公共组件的分离。业务组件和公共组件使用一个数据库,通过公共组件及相关的标准实现整合。为了保证平台的灵活的扩展,要实现以上不同层次的接口调用的向下兼容,包含服务接口、API 接口、数据接口,即升级之后的应该和老版本可以兼容。特别是数据库接口,必须实现向下兼容,不然无法实现一体化数据库,造成升级困难。数据接口并非是所有的数据模型,主要是针对核心对象模型建立的对象基本关系模型,关于基础对象模型的建立,建立更加稳定的数据模
23、型,保证数据接口的稳定。实现了接口向下兼容的,组件就可以独立升而不会相互影响,保证不同业务组件的版本兼容,对于一个业务组件内部,不同的模块之间,需要保证版本一致,如业务基础平台的内核,需要跟业务组件的版本保持一致。保证一个和业务组件本身的版本兼容,不同的业务组件之间可以版本不同,但是数据结构要兼容。七、 项目实施方案根据我公司的项目实施经验,结合本项目的实际情况,具体实施将是采用成熟、有效的技术手段来实现系统建设的各项目标和功能。1 项目立项启动项目立项启动过程,主要就是统一思想、明确计划的过程。当完成项目规划和论证后,可以开始具体的建设和实施,此时开始进行项目立项。项目立项包括以下活动: 双
24、方成立项目实施小组,指定项目负责人,明晰项目小组成员职责; 根据合同的约定,制定项目实施总体工作计划。2 项目调研分析设计主要从技术角度来分析业务和网站建设的需求,提出网站的总体架构和具体实现方案,完成项目概要设计和详细设计。概要设计主要进行以下工作: 对象行为和对象间交互作用的进一步细化,完成对象间交互作用的明确和完整的定义; 对对象进行抽象,进行类的认定,得到类结构; 按照应用要求,把若干个类组合成一个子系统。详细设计是紧接着概要设计进行的,目的是为实现做好准备。我们将采用UML语言进行设计模式的描述,本阶段包含以下活动: 组织有经验的项目分析人员和相关实施人员,与需方相关负责人召开若干次
25、需求调研会议,并深入系统应用的第一线与有关人员共同探讨需求; 总结各次调研会议的内容,形成项目调研报告初稿并制作关键业务应用原型; 讨论并最终确认项目调研报告,形成最终需求调研报告,双方需对本文档认可签字。3 项目开发测试根据需求和设计方案,组织人员完成编码、测试工作。本阶段的主要活动是:n 根据需求文档和设计文档进行编码和自测。在设计方面完成功能设计、界面设计和系统管理设计;完成单元内测试和系统测试;n 编写项目使用手册;n 提交项目使用手册,双方对提交的文档认可。4 人员培训人员培训自始至终贯穿在项目实施过程中,在进行培训时,需要完成以下工作: 制定详细的培训计划,确认各个阶段培训的主要内
26、容。 培训组织相关人员使用系统,以熟悉整个系统的基本功能。 重点培训项目小组成员,并指导项目负责人对网站的应用与维护。5 项目应用及项目验收1) 根据项目需求报告的约定,形成项目应用说明书,各使用部门严格按照说明书的约定操作,以达到最好的应用效果;2) 网站正式开始试运行,提交验收申请表和交付清单;3) 网站正常使用达到合同规定的验收条件后,组织人员验收工作,形成项目验收报告;4) 该阶段结束标志为客户方在项目验收报告上签字;网站验收后进入试运行阶段,试运行顺利完成后,进行网站终验测试,测试合格后,双方共同签署网站终验报告。八、 项目管理及质量保障措施1 项目实施安排为确保项目的成功实施,在项
27、目规划、实施全过程中,必须在良好的计划、管理、控制和协调下,才能保证项目建设有序顺利地进行。因此,建立一套科学严密的管理体系,有效地调配人员、时间和资金等项目资源,对项目建设非常重要。我公司根据本项目的特点,按照严格的质量保证体系,明确项目的管理目标,制定项目的管理方式、组织结构、实施计划、质量和安全保证体系,作为整个项目建设的实施指导。2 质量保证体系为确保项目的成功实施,我们在系统建设全过程中,始终贯彻着ISO9000质量管理体系标准,并将该体系作为整个项目建设的行动指导。依据我们质量管理体系中的质量方针、质量目标、和控制程序要求,在项目实施过程中协调好各部门之间的关系,让整个项目运作在良
28、好的计划、管理、控制下,保证项目有序地、顺利地进行。在项目的详细设计、项目实施、项目测试、项目验收、售后支持以及相关协调等一系列工作中,我们将提供技术方案、开发、安装、调试、初验、试运行、测试和验收等各项符合ISO9000质量管理体系标准的规范与表格。3 项目实施管理在本项目中,我们和用户组建一个项目组,并由专家技术人员作为技术支持后盾,由我们资深工程师担任项目组的技术负责人,项目组全权负责本项目的所有工作,包括系统的详细设计、项目实施、项目测试、项目验收、售后服务支持以及相关协调等所有工作。我们将选派具有丰富系统实施经验的项目经理和精通专业技术的工程师,结合我们在系统实施、集成方面成功经验,
29、提出详细的项目实施计划,确定各项规范;提出项目的售后服务体系,为本项目在服务保证期内和将来提供统一技术服务界面,融合系统集成商、技术支持中心和产品厂商的售后服务;制定详细的培训计划,保证用户对技术、系统的掌握和系统运行维护的管理。4 项目实施管理目标项目管理项目实施的核心。项目管理的方法是根据该项目的具体特点建立基于稳定的组织、完整的计划和丰富的文档等多方合理因素构成的有机管理整体。我们为该项目的实施制定以下分步实施目标:在项目启动之初,就建立稳定的组织管理机构,包括本项目的领导小组、项目经理、质量监控组、实施组、测试验收组、文档管理组、培训组、售后服务组等,在实施过程中分工明确、责任落实、人
30、员到位。根据具体需求和现实的可执行性,建立一套完整的项目实施计划,贯穿整个项目实施,包括项目的需求分析、详细设计、实施、维护、以及项目进一步发展规划的全过程。项目启动后,定期与用户相关人员做一定的沟通,讨论执行情况,分析存在问题,提出改进方法,尤其必须预见性地讨论那些潜在的风险,提出相应的风险处理对策。用户相关人员应充分参与到管理和技术的每一项工作中去。在整个项目实施过程中,建立完整的文档,并对文档作有效的管理。我公司本项目成立专门的技术支持部门,负责该项目整个系统的测试与安装、集成和连续的系统优化。实施时确保项目进度始终在有序控制之中,实施后确保系统始终处于最佳运行状态,最大程度地发挥系统优
31、良的性能,远景任务是为新的需求提供扩充及优化建议,保证系统是一个有机成长的健康系统。当整个系统调试优化完成后,我们还会成立专门的售后服务小组为客户提供可靠的技术维护,保证应用系统长期稳定地运行。综上所述,项目管理的目标就是要运用完善的管理方法和经验,提高项目实施的可操作性和可控制度,保证项目高质的完成,稳定的发展。5 项目实施管理内容项目管理的内容包括项目定义和项目工作清单、项目人员的配置和组织、项目进度安排和控制、项目风险评估管理、项目变更的管理、项目质量控制、项目成本控制、文档管理、合作各方的协调、验收及其标准。 项目定义和确定工作清单明确项目的任务,并对任务进行细化,以制定工作清单,是项
32、目人员调度和日程安排的重要依据。本项目的建设将根据项目实施的特点及需求分布安排工作,包括编制项目实施方案、安装设备、配置系统、连通网络、系统联调等。我们将按照不同的阶段制定对应的明确的工作清单。 项目人员组织和分配为了实现我们管理的目标,根据项目的工作清单和任务量的大小,合理安排每个人员的工作,建立良好的组织结构对人员进行管理和协调,以便有序地工作。 项目进度安排和控制按照项目对进度的总体要求,确定项目工作清单中各项任务的日程安排,并留有适当余地以处理不可预知的情况,进度控制以日程安排为依据,通过例行会议等手段进行项目进程状态汇总、审计和督导。合理安排日程并加以监督控制可以提高工作效率,及时发
33、现并解决问题。 项目变更和风险管理风险管理首先应确定所有已知的项目风险,分析发生的可能性和潜在影响,并且确定风险分析管理过程,用于跟踪每一风险并尽可能减少风险的负面影响。在本项目中,主要的风险可能由实施环境、项目周期、项目参与人员、用户的配合等因素引起。我们认为应通过项目会议以明确各种可能的风险,分析风险并制定出完整的风险管理计划。 项目质量控制明确整个项目的目标和质量要求,确定出项目工作清单中各项任务结果相关的质量及测试要求。制定质量控制流程以保证项目达到质量标准。质量控制流程应包含质量保证承诺、全面或抽样测试、质量验收过程和问题汇总反馈过程等。我们项目组技术人员将跟用户相关人员一起定期地组
34、织质量检查、实施质量控制流程,并对项目的总体运行结果进行评审,以保证项目达到预计效果。 项目文档管理技术文档是整个项目实施的重要知识成果,所有的技术文档必须归纳整理,加以妥善保管。在项目实施过程中,每一个项目实施步骤都需建立联机项目文档数据库,对项目实施采取实时的跟踪、控制和管理。并保证在项目结束后,向用户移交全部的项目实施档案,保证用户项目档案的完整。6 项目实施管理方式采取项目经理集权控制方式,通过完整的项目管理组织对项目进行综合管理。我们针对本项目将成立跨部门的项目团队,项目团队采用矩阵式的结构,一方面增加对客户需求的响应速度;另一方面得到各专业部门的指导和支持。建立项目的组织结构是对项
35、目的人力资源进行合理的配置和分工,使参与项目的双方人员能有效地协同工作,发挥最高的效率。项目管理架构如下:项目阶段划分项目共分为项目开始、准备、实施、验收、售后服务等五个阶段,如下图所示:九、 项目测试方案和步骤1 测试目标制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。最终目标是实现软件测试规范化,标准化。2 测试流程说明3 测试需求分析测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的
36、需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他。l 测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据;l 测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例;l 测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖。1) 测试方法与规范(1) 测试方法随着软件技术发展,项目类型越来越多样化。根据项目类型应选用针对性强的测试方法,合适的测试方法可以让我们事半功倍。以下是针对目前项目工程可以参考的测试方法:l 测试 (beta测试)-非程序员、测
37、试人员测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。 测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。l 测试(Alpha测试)-非程序员、测试人员测试,英文是Alpha testing。又称Alpha测试.Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员
38、或测试员完成。在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。l 兼容性测试 -测试人员兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中,例如在B/S项目中各个不同浏览器之间的测试。l 用户界面测试-UI测试 -测试人员用户界面测试,英文是User interface testing。又称UI测试。用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是
39、否美观,文字,图 片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性 测试。 用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。它常常包括菜单,对话框及对 话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。l 冒烟测试 -版本编译者冒烟测试,英文是Smo
40、ke testing。冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。l 随机测试 -测试人员随机测试,英文是Ad hoc testing。随机测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试
41、覆盖完整性的有效方式和过程。随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其 对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。l 黑盒测试(功能测试)-测试人员 黑盒测试,英文是Black Box Testing。又称功能测试或者数据驱动测试。 黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。软件测试人员
42、以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。l 性能测试 性能测试,英文是Performance Testing。性能测试是在交替进行负荷和强迫测试时常用的术语。理想的“性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。性能测试一般包括负载测试和压力测试。通常验证软件的性能在正常环境和系统条件下重复使用是否还能满足性能指标。或者执行同样任务时新版本不比旧版本慢。一般还检查系统记忆容量在运行程序时会不会流失(memory leak)。比如,验证程序保存一个巨大的文件新版本不比旧版本慢。(2) 测试规范测试
43、规范是根据开发规范而制定的测试标准,测试规范也是后期测试用例编写的重要依据。因为开发规范因公司而异,因产品而异,所以测试规范的标准程度每个公司都不一样。从理论到方法到各类流程到各类报告模版,都属于测试规范的范畴,当一整套规范形成之后,可使得测试工作进行更加稳健,所有问题有据可查。2) 软件需求规格说明书软件需求规格说明书是软件达到的各项功能的目标。是测试人员各项工作的依据,没有需求就无法判断测试结果是正确的。3) 软件设计说明(概要与详细设计)设计说明书包含软件的一些框架、字段、数据库设计等。软件设计说明对测试工作开展有很大影响,没有软件设计说明很多问题将无法溯源,测试准备的前期工作也是根据软
44、件设计说明来制定的。4) 页面原型(demo)页面原型是项目人员快速熟悉项目的最佳路径。在需求不够明确,设计说明书不够全面的情况下,页面原型也是后期测试用例编写思想的重要根据。4 测试过程设计明确测试目的,最终达成目的并验证结果是测试要做的事情。包括:1. 测试范围:描述本次测试中的测试范围,如:测试软件功能范围、测试种类等。2. 简单的描述如何搭建测试平台以及测试的潜在的风险。3. 项目信息:说明要测试的项目的相关资料,如:输入输出文档,产品描述,软件主要功能。4. 人力资源的分配。5. 测试需求:笼统说,就是测试中的所有设计和需求文档。作为本次测试的依据1) 测试策略制定 这一阶段在于需求
45、、详细设计、测试计划完成之后,主要是本次测试的策略阶段。很多公司少这个一个阶段,需要有计划性的分出产品的功能扣出测试的功能点,现阶段大多公司都是直接拿着文档就开始做用例设计。 对需求进行分析,列出具体的功能列表。(一般根据功能交互文档就能明确出此功能的大体功能,一层层的分下去,一直到没个功能表单。然后考虑到使用那些测试方法?工作一旦做到执行阶段,我们可以更好的根据这些功能表一点一点的覆盖。也能让我们在用例评审时,充分的证实我们的工作是有效的能够保证产品的质量。)一般在此之前,一些业务培训和需求评审是有必要是听一下的。这样能够更早更熟练的理解需求,也能保证产品设计中出现的一些误区。 功能测试:功
46、能范围(划分出各自负责的功能模块);使用测试方法(等价类、边界值等测试方法方法);测试标准(符合设计、需求和规范文档对该功能的描述)。 界面测试 兼容性测试2) 测试计划要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性。编写测试计划的目的在于充分考虑执行测试时 的各种资源,包括测试内容、测试标准、时间资源、人力资源等等,准确地说是要分析执行时所能够调用的一切资源以及受各种条件限制,可能受到的各种影响。测试内容:对一个软件来说测试计划中会明确本次测试做哪些测试?如:系统测试:在整个系统测试中会有(界面测试、功能测试、性能测试、兼容性测试、安装卸载测试、可靠性测试等测试)。测试
47、目的:一般多为保证产品质量是否达到预期的指标。这个指标也就是在测试中定义的结束标准。测试标准:需要考虑本次测试需要输入那些文档,该项目结束标准定义、测试结束标准的定义?bug级别定义、优先级定义、bug管理流程定义。这个都需要在执行测试事明确。计划中应该包含这些内容。资源分配:这里分为人力资源、软硬件资源等划分。一般会把人力资源的利用写入一个测试人员任务分配表里,按照不同的阶段,每个阶段提交相应的成果(难度很大)。软硬件资源中主要是在做计划时考虑到需要多少电脑或别的工具,列出清单。测试风险:大多考虑到的就是项目开发延期、测试人员不足用例无法全面覆盖测试点、时间不足用例无法全部执行、bug无法及时修改导致无法验证、测试人员技能不足导致测试进度拉长。3) 测试附件n 用例模板、缺陷报告模板n 测试