需求分析如何来做?
1.引言 3
11编写目的 3
12项目背景 3
13定义 3
14参考资料 3
2.任务概述 4
21目标 4
22运行环境 4
23条件与限制 4
3.数据描述 5
31静态数据 5
32动态数据 6
33数据库介绍 6
34数据表 6
35数据采集 6
4.功能需求 7
41功能划分 7
42功能描述 7
421采购管理 7
422器具管理 8
423检定管理 8
424台帐管理 9
425维修管理 9
426环境因素管理 9
5.性能需求 10
51数据精确度 10
52时间特性 10
53适应性 10
6.性能需求 10
61用户界面 10
62硬件接口 10
63软件接口 10
64故障处理 10
7.其它需求 11
为了满足网络应用不断增长的性能需要,我们通常增加新服务器个数,分担业务,提高系统工作性能,即横向扩展。其实也可以通过提高现有服务器的配置来提高服务器的整体性能,即纵向扩展——因为服务器部件的选配对服务器的性能至关重要。而直接存储数据的硬盘更是影响服务器服务性能的重要一环。
提高服务器性能的方法就是寻找制约服务器性能的瓶颈在哪。不同应用可能存在的瓶颈是不同的,有的要重点考虑处理器、内存,有的要重点考虑硬盘或网络的I/O吞吐能力;那么,在哪些应用环境下需要重点考虑服务器硬盘瓶颈呢
通讯服务器(messaging/E-mail/VOD):快速的I/O是这类应用的关键,硬盘的I/O吞吐能力是主要瓶颈;
数据仓库(联机事务处理/数据挖掘):大型商业数据存储、编目、索引、数据分析,高速商业计算等,需要具有良好的网络和硬盘I/O吞吐能力;
数据库(ERP/OLTP等):服务器运行数据库,需要具有强大的CPU处理能力,大的内存容量来缓存数据,同时需要有很好的I/O吞吐性能;
其他应用:应用集中在数据查询和网络交流中,需要频繁读写硬盘,这时硬盘的性能将直接影响服务器整体的性能。
影响硬盘的因素
谈到硬盘的指标参数,首先就应提到硬盘的接口标准。当今主流硬盘的接口界面有两种:EIDE和SCSI,当然此外还有IEEE 1394接口、USB接口和FC-AL(FibreChannel-Arbitrated Loop)光纤通道接口的产品,但是很少见。现在几乎所有的微机普遍采用基于Ultra DMA/33/66/100标准的IDE接口的硬盘,它的优势在于能提供较低价格,普及率很高。
同时,也有部分低端服务器采用了IDE硬盘,目前,几乎所有服务器主板都集成了IDE控制器,但在中高端服务器中还只是普遍用来连接低速外设IDE光驱,而硬盘一般采用SCSI接口标准,如浪潮英信服务器就普遍采用了Ultra160 SCSI硬盘,提供更高的硬盘吞吐能力。SCSI接口硬盘有着极低的CPU占用率、支持更多的设备和在多任务下工作的优势明显等优点,更适合于服务器应用的需求,当然SCSI硬盘价格要高得多。
然而,硬盘的数据传输系统之瓶颈不在于PCI总线或是接口速率上,而在硬盘本身,这是由硬盘机械部分与结构设计等诸多因素造成的。
衡量硬盘的指标
衡量硬盘性能的指标主要包括:
主轴转速
主轴转速是一个在硬盘的所有指标中除了容量之外,最应该引人注目的性能参数,也是决定硬盘内部传输速度和持续传输速度的第一决定因素。如今硬盘的转速多为5400rpm、7200rpm、10000rpm和15000rpm。从目前的情况来看,10000rpm的SCSI硬盘具有性价比高的优势,是目前硬盘的主流,而7200rpm及其以下级别的硬盘在逐步淡出硬盘市场。
内部传输率
内部传输率的高低才是评价一个硬盘整体性能的决定性因素。硬盘数据传输率分为内外部传输率;通常称外部传输率也为突发数据传输率(Burstdata Transfer Rate)或接口传输率,指从硬盘的缓存中向外输出数据的速度,目前采用Ultra 160 SCSI技术的外部传输率已经达到了160MB/s;内部传输率也称最大或最小持续传输率(Sustained Transfer Rate),是指硬盘在盘片上读写数据的速度,现在的主流硬盘大多在30MB/s到60MB/s之间。由于硬盘的内部传输率要小于外部传输率,所以只有内部传输率才可以作为衡量硬盘性能的真正标准。
单碟容量
除了对于容量增长的贡献之外,单碟容量的另一个重要意义在于提升硬盘的数据传输速度。单碟容量的提高得益于磁道数的增加和磁道内线性磁密度的增加。磁道数的增加对于减少磁头的寻道时间大有好处,因为磁片的半径是固定的,磁道数的增加意味着磁道间距离的缩短,而磁头从一个磁道转移到另一个磁道所需的就位时间就会缩短。这将有助于随机数据传输速度的提高。而磁道内线性磁密度的增长则和硬盘的持续数据传输速度有着直接的联系。磁道内线性密度的增加使得每个磁道内可以存储更多的数据,从而在碟片的每个圆周运动中有更多的数据被从磁头读至硬盘的缓冲区里。
平均寻道时间
平均寻道时间是指磁头移动到数据所在磁道需要的时间,这是衡量硬盘机械性能的重要指标,一般在3ms~13ms之间,建议平均寻道时间大于8ms的SCSI硬盘不要考虑。平均寻道时间和平均潜伏时间(完全由转速决定)一起决定了硬盘磁头找到数据所在的簇的时间。该时间直接影响着硬盘的随机数据传输速度。
缓存
提高硬盘高速缓存的容量也是一条提高硬盘整体性能的捷径。因为硬盘的内部数据传输速度和外部传输速度不同。因此需要缓存来做一个速度适配器。缓存的大小对于硬盘的持续数据传输速度有着极大的影响。它的容量有512KB、2MB、4MB,甚至8MB或16MB,对于视频捕捉、影像编辑等要求大量磁盘输入/输出的工作,大的硬盘缓存是非常理想的选择。
知道了服务器硬盘的性能指标,下一步自然要依此选择出适合具体应用的服务器硬盘,以提高系统的工作性能。
选用高性能硬盘
由于SCSI具有CPU占用率低,多任务并发操作效率高,连接设备多,连接距离长等优点,对于大多数的服务器应用,建议采用SCSI硬盘,并采用最新的Ultra160 SCSI控制器;对于低端的小型服务器应用,可以采用最新的IDE硬盘和控制器。确定了硬盘的接口和类型后,就要重点考察上面提到的影响硬盘性能的技术指标,根据转速、单碟容量、平均寻道时间、缓存等因素,并结合资金预算,选定性价比最合适的硬盘方案。
RAID技术
冗余磁盘阵列RAID系统提供了比通常的磁盘存储更高的性能指标、数据完整性和数据可用性,尤其是在当今面临的硬盘I/O总是滞后于CPU性能的瓶颈问题越来越突出的情况下,RAID解决方案能够有效地弥补这个缺口。
依据磁盘阵列数据不同的校验方式, RAID技术分为不同的等级(RAID Levels),各有不同的技术特点,读者可以参考有关手册进行选用。
为了更好地提高硬盘的I/O性能,推荐采用RAID技术,根据应用的特点,把被频繁访问读写的硬盘做成RAID0或RAID1、RAID5;目前,在低端服务器可采用IDE RAID,如浪潮英信NP200;而在中高端服务器,建议采用SCSI RAID控制器,并注意RAID控制器有关技术指标,如CPU类型、通道类型和数目、缓存数量、有无电池后备等;需要注意的是:主板集成的RAID控制器由于本身没有硬盘控制器,而占用了主板上的SCSI硬盘控制器,需要耗费更多的主处理器时间,会使服务器的处理能力受到影响。
热拔插技术
除了从性能指标上评价硬盘,还要考虑到硬盘的故障率、平均无故障运行情况和易维护性。在具体的应用中,首先应选用寿命长、故障率低的硬盘,可降低故障出现的几率和次数,这牵扯到硬盘的MTBF(平均无故障时间)和数据保护技术,MTBF值越大越好,如浪潮英信服务器采用的硬盘的MTBF值一般超过120万小时,而硬盘所共有的SMART(自监测、分析、报告技术)以及类似技术,如seagate和IBM的DST(驱动器自我检测)和DFT(驱动器健康检测),对于保存在硬盘中数据的安全性有着重要意义。
另外,一旦硬盘损坏,应考虑如何保证数据不丢失,并且减少服务器的宕机时间。 RAID技术可以用来保证数据的可靠性和安全性,通过硬盘的热拔插技术可以保证在更换或维修硬盘的同时,服务器仍然能正常运行可用。目前热拔插技术在中高档服务器中非常普遍,一直也被作为服务器档次的一个重要标志。一般在服务器中采用的热拔插技术的部件有硬盘、电源、风扇、PCI插槽等,而SCSI硬盘也有专门支持热拔插技术的SCA2接口(80-pin),与SCSI背板配合使用,就可以
项目是以客户的需求为中心,而不是为技术而迁就需求。 本章包括以下内容: 一 让客户畅所欲言,罗列出所有的需求 二 透过现象分析潜在的需求 三 利用自然的语言描述项目模型 四 利用示意图和图表将用户的需求表现出来。 五 什么人要看需求分析报告? 六 建立需求变更日志,制作新版本的需求分析报告。 七 本阶段重点工作角色 八 总结 一:让客户畅所欲言,罗列出所有的需求 让用户将所有的想法尽可能的阐述清楚,并把所有的要求罗列出来,不要遗漏。这时候不应该害怕“勾引”起客户的潜在需求而增加设计开发的工作量,从而被今后客户无止境的变更拖入泥潭,直接明白地跟客户把问题和要求一条条地列出来,把条理、归纳、分析先都扔到一边去,将用户最原始、最完整的要求准确地记录下来就完成了第一步的工作。 很明显,假如客户的需求做的都不完整,随时可能会产生意想之外的变更,甚至这个变更会破坏已经做的模型及结构,那么这个项目从开始就注定了会失败;比如站点所有的功能都实现了,本地测试起来也没有什么问题了,但是你却不知道客户的系统是要承受每天100万独立IP的访问,而你原来想当然的以为了不起就是1万独立IP访问的访问流量,稍微有经验的开发人员都会明白这样的设计是个灾难,无论是应用服务器、数据库还是程序全部要重新开发! 二:透过现象分析潜在的需求 很多情况下客户并非专业人士,在他们滔滔不绝的描述中不能指望他们帮助我们整理出重点和技术难关,这需要我们去为客户进行分析、归纳和整理,尤其是客户谈的不多却又是技术上实现难度和强度很高的地方特别值得注意。 客户往往对需求的概念是非常模糊的,大多时候给出的需求都是笼统而且尺度难以控制的,这就要求业务人员在倾听了客户的详细说明以后,帮助客户进行整理和分析,同时预测客户在开发过程中变更及今后应用中可能进行修改升级的潜在需求。 比如在为客户设计办公自动化系统的时候,也许就要为客户预留将来与他们的业务单位进行交互的通道;在设计邮件系统的时候要考虑可能会需要广告管理服务器;设计网络电子商店时今后增加库存产品进销存统计分析等等;限于时间财力的考虑,客户通常能够接受分阶段实施的开发过程,在需求分析时,提早为客户设想到今后的需求变更除了使项目开发更加顺利以外,也为今后业务的进一步深入打下了更好的基础。 笔者曾负责一个大型新闻网站的设计,当客户拿着将近五十页厚的一本设计要求报告时,我发现有四十页的内容对程序开发来说都是重复的,而在其中一页的角落却画了个“搜索其他网站相关新闻”的按钮,并且没有做任何说明,仅仅这10个字所完成的工作量完全顶的上其他整整四十页重复赘述所做的工作,客户完全不知道这个要求引发的问题实际就是一个搜索引擎的开发,通过协商,客人同意了修改成站内搜索的引擎。 三:利用自然的语言描述项目模型 在业务员与客户进行沟通和调查时撰写的需求分析,尽可能用自然的语言进行描述,虽然客户的水平和资历有所不同,但是最自然的描述能够使项目开发的各个成员都能清楚地理解需求含义,不至于在理解上产生偏差。对客户而言,这样的模型描述最接近真实,容易参与修订,并能以此为测试和验收的依据。
0条评论