软件外包服务及信息技术平台方案设计.docx
- 文档编号:5142696
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:31
- 大小:3.07MB
软件外包服务及信息技术平台方案设计.docx
《软件外包服务及信息技术平台方案设计.docx》由会员分享,可在线阅读,更多相关《软件外包服务及信息技术平台方案设计.docx(31页珍藏版)》请在冰豆网上搜索。
软件外包服务及信息技术平台方案设计
软件外包服务及信息技术平台
方案设计
目录
1项目概述4
1.1项目背景4
1.1.1软件外包产业背景4
1.1.2软件外包的现状及特点4
1.2项目定义5
1.3业务目标5
2方案设计6
2.1总体架构6
2.2组件设计7
2.2.1LDAP7
2.2.2云计算7
2.2.3软件生命周期7
3“云计算”虚拟环境8
3.1IBM云计算平台简介9
3.2云计算平台用例11
3.2.1用例一:
资源申请11
3.2.2用例二:
管理申请13
3.2.3用例三:
自助管理15
3.2.4用例四:
统计计费16
3.3对环境和基础设施的需求17
3.3.1网络的需求17
3.3.2安全设计需求17
4软件生命周期管理环境17
4.1软件应用生命周期管理指导原则17
4.2软件应用生命周期管理平台概述19
4.3软件应用生命周期管理解决方案21
4.3.1Jazz平台21
4.3.2需求管理平台21
4.3.3架构管理平台22
4.3.4开发协作平台23
4.3.5质量管理平台24
4.3.6项目管理平台25
4.3.7构建库管理平台26
5产品配置27
5.1软件配置27
5.2硬件配置28
5.3培训和服务28
6我们的优势31
6.1产品集成优势31
6.2服务优势31
6.3行业经验31
1
项目概述
1.1项目背景
1.1.1软件外包产业背景
发展软件外包是中国的战略,也是政府的一项战略。
传统的制造业在一定的历史阶段促进了经济的快速发展,但是同时也带来了劳动力低端化、能源与资源的巨大消耗、环境污染等一系列问题。
在中国进入社会转型期的今天,同传统的制造业相比,软件外包具有了明显的优势:
它不仅能够吸引高端人才的流入、提高外包企业的技术水平和竞争力,更能够促使服务业结构顺利转型,确保经济的持续繁荣并促进和谐社会的形成。
为了更快地达成这一目标,企业不仅需要与国际接轨,借鉴国际先进经验以提升外包服务的水平,更重要的是依托政府为企业提供的各种政策支持以及必要的基础设施建设。
对于软件外包和软件企业来讲,IT基础设施必不可少,这不仅包括硬件资源,更重要的是如何建立企业的软件外包服务的核心能力。
打个比方来说,如果说成功的制造业必然依托于标准国际管理模式(如ISO9000)和国外引进的先进生产流水线,那么软件外包的成功也必须具备两个条件--一套具有国际水平的软件项目管理认证标准(如CMMLevel5),以及一条先进的软件设计、编程、测试"流水线",即涵盖软件应用生命周期管理的软件交付平台。
为了让软件企业从这种困境中解脱出来,IBM借助自身在软件外包服务领域和数据中心管理领域的多年经验与研究,并在与各个软件外包大国的长期合作中所取得的宝贵经验之上,在美国硅谷实验室第一次研发出全新的软硬件开发环境管理模式--"云计算"管理开发平台。
该平台是新一代的数据中心管理平台,相比传统的数据中心具有突出的技术优势。
同时借助IBM在软件外包领域的丰富经验,希望能够和携手打造软件外包服务平台,从而推动湖北软件外包服务的持续发展。
1.1.2软件外包的现状及特点
首先,整个软件外包产业在中国的发展时间还比较短,许多企业所做的服务项目还停留在测试、系统维护、数据录入等低端业务类型上,中高端的软件开发、系统设计、咨询项目经验积累明显不足。
其次,软件园产能不足。
国内虽然很多城市都有软件园项目,但其入园企业的规模都偏小,很多本地企业外包任务不足。
大量的企业的开发人员规模都在500人以下,技术研发能力和项目管理能力都受到相当的限制。
同时,每个软件园的规模都偏小,集聚超过200家软件公司的软件园几乎没有,整体上尚未形成产能,与美国硅谷、印度软件园相差甚远。
对发包单位的吸引力不大,可信度不高。
最后,产业链尚不完善。
目前国内软件企业大多扮演开发商角色,从事应用软件定制开发。
从需求调研到测试交付每一个环节都全程参与,产业中尚未出现精细分工的企业,尚未出现像在制造业中生产轮胎、电池、钮扣这种部件的企业。
综上所述,在发展软件外包面临的挑战如下:
1.规模小:
大部分的企业目前不足百人,相比印度外包公司动辄上万人的规模显得微不足道。
大型的、核心的、利润丰厚的项目的接包非常困难。
2.能力不足:
目前的企业虽然在软件开发能力上有了很大的提高,但是基本上仅局限在程序编写能力有所提高;对软件外包的核心的项目管理,需求分析、系统建模、软件架构、测试验收等方面还远远不足。
3.氛围还未形成:
虽然软件外包的企业越来越多,但基本都是独立作战,还未形成一个良好的氛围将打造成一个软件外包基地,也没有一个技术交流的氛围有目的的培养和留住软件高端人才。
1.2项目定义
虚拟软件园是解决软件企业分散林立而设计的解决方案,它为软件设计、开发、测试等主要环节提供虚拟化的团队工作空间,降低软件企业协作分工的门槛,能够有效地将各个软件园中和各个软件企业中的开发人员组织起来共同协作开发一个项目。
为软件产业规模化、集约化提供平台基础。
1.3业务目标
针对目前的现在,该方案书将有针对性的解决这些问题,以实现如下的总体目标:
1.统一的软件交付平台打造软件交付流水线
软件外包从接包到交付是一个及其复杂的过程,从理解客户需求、分析设计、编码、测试到为了开展这些工作所必须提供的软件变更管理、配置管理和项目管理等。
如何将这些环节的工作流程化、标准化并且由工具平台提供执行能力打造一个类似工业制造流水线的软件交付平台不仅能够大大降低软件交付的复杂度、减少成本、提高质量;最关键的是向发包方证明软件外包总公司的软件开发能力,增加被国际企业接受程度。
2.灵活的IT基础架构及自动化资源部署随时提供所需的资源
为软件外包总公司下属单位提供软硬件资源共享并动态调整容量的能力。
“云计算”平台可以统一的管理总公司的软硬件平台,将这些资源动态的部署、分配,下属单位可以通过远程登录或WEB方式灵活的使用总公司提供的硬件平台,同时共享部署在这些平台之上的软件资源。
当业务需求提高时,可以动态调整系统容量,为可持续发展提供可能。
"云计算"管理开发平台为资源共享、持续发展提供了有力的保障。
同时将大大提高软硬件的利用率。
3.咨询服务及培训统一软件外包团队的总体水平
由于软件外包服务的专业性要求,IBM将围绕打造的软件交付平台对相关人员提供统一的培训服务,并且通过经验丰富的软件工程技术专家,为软件外包总公司量身定做软件交付平台,从而不仅为CMMI提供支持,也从整体上提高了相关人员的实际能力。
2方案设计
2.1总体架构
整个方案基本上可以简单描述为“团队开发环境”嵌套在“云计算虚拟环境”中。
首先,在云计算平台上分配出虚拟机。
基本上,一个虚拟机可以被一个项目占用,虚拟机的生命周期取决于项目周期。
程序员、管理员、客户都可以接入虚拟机,各自有自己的工作桌面。
接入方式可以在远程桌面、XWindow、VNC等图形化桌面方式中选择一种,这种方式接入客户机上可以不安装或安装极轻量级的软件。
我们也可以采用Client/Server模式接入,这种方式需要安装相应的接入客户端软件(比如系统管理软件、Eclipse开发客户端)。
其次,在每一个虚拟机中根据项目需求定制构建中项目的运行环境和团队工作空间。
比如:
为项目1构建Oracle数据库和Tomcat服务器,为项目2构建DB2数据库和WAS服务器等等。
且根据需要配齐相关的需求管理、架构设计、团队开发、质量管理、代码测试等软件。
最后,构建公共服务平台。
由于这部分应用相对稳定,没有必要建设在云计算平台的虚拟机上,可以考虑用运行在实体机上。
LDAP目录服务用于接入时的统一身份认证。
各项目的中间成果或者可共享(可交易)的构件可以导入到构件库上。
项目管理平台负责监控所有项目的进展情况。
此外,系统运维和资源管理平台负责整个环境的运作。
图21总体架构图
2.2组件设计
2.2.1LDAP
LDAP目录服务提供用户接入时的统一身份认证,里面可以存放所有软件园和所有注册软件工程师信息。
条目中可以包含人员基本信息、职位、教育背景、技能特长、产品认证、项目经历等等。
为跨园区人才交流合作,项目解包后人员分配和搜索提供方便,能够集合整个所有IT人力资源来承接重大外包项目,对做大外包业务、加强技术合作都有好处。
2.2.2云计算
云计算本质上是一种虚拟化技术。
由于虚拟软件园上的团队工作空间是跨园区的,所以比较好的方式是提供虚拟化的接入方式,在虚拟空间中集中保存所有队员的桌面环境和工具,这样接入成本最低。
程序员可以在各种环境下接入并参与开发工作。
同时,目前大量的外包项目属于“短平快”业务,项目的周期相对较短,项目的安装环境和使用到的工具又千差万别,使用云计算虚拟空间也可以起到资源集约使用的效果。
自动安装部署、动态切分调整、自动资源回收、集中式管理都使得虚拟软件园能提供较高的的性价比。
2.2.3软件生命周期
只有一个公共技术平台的支撑,才能整合软件园区、新区及其他的多个企业的资源,统一软件外包开发方法、统一角色、统一平台、统一思想。
在此基础上,企业可以横向、纵向组合,在需要承接大型外包项目时,及时、临时组建大型项目开发团队以高速、高质量的完成外包任务。
(横向:
一个大型项目的需求分析人员临时由各个公司的项目需求人员组建而成;架构师组、开发组、测试组用同样的方式组建。
纵向:
一个大型的项目需求分析由某家公司的需求分析人员承担;架构师组全部来自另一家公司,开发组,测试组等用同样的方式组建。
)为此,一个跨平台、跨软件开发各个环节的公共支撑平台的建设将是实现这种产业联盟的基础支撑平台。
3“云计算”虚拟环境
外包服务平台主体包括两个部分:
软经应用生命周期管理方案和云计算平台。
其中云计算平台主要由各种机器组成的数据中心、一组部署管理的软件以及由此通过自动部署生成的虚拟机。
基于Rational的软件交付平台集成了软件的需求管理、设计、开发、测试、变更管理及自动组装的软件生产流水线。
●灵活的IT基础架构
要做到资源的随时随地按需分配,就要建立一个灵活的硬件基础架构。
硬件基础架构通常由虚拟的服务器池、共享的存储系统、网络和硬件管理软件组成。
●自动化资源部署
"云"的核心功能是自动为用户提供服务器。
用户、管理员和其他人员能通过Web界面使用该功能。
完全自动化的部署流程不仅符合安全要求,而且能自动适应用户的需求,而令其价值倍增的因素还包括:
引入技术和创新的时间缩短,设计、采购和构建硬件和软件平台的人力成本降低,以及通过提高现有资源的利用率和复用率节省成本。
●端到端服务请求管理平台
我们需要为"云"提供一个统一的管理平台来实现端到端的流程管理,协调各个部门的合作,提高管理效率。
同时该管理平台负责全部的人工交互界面,权限控制和用户管理等功能。
端到端服务流程包括:
1.资源申请流程
2.资源分配流程
3.资源回收流程
4.资源使用情况报告流程
5.资源使用费收取流程
6.服务计费流程
7.费率管理流程
8.服务水平监控流程
9.服务内容管理流程
●IT管理规则
为了实现数据中心的规范管理,我们需要以"云"为基础,为数据中心制定一套完整的管理规则,内容包括:
组织和机构、信息安全管理、配置管理、变更管理、外包管理、服务级别管理、业务连续性管理、容量管理、问题管理、运行管理、性能管理等。
3.1IBM云计算平台简介
为了对企业IT资源系统进行有效的管理、优化和配置,IBM借助自身在软件开发、维护领域和数据中心管理领域的多年经验与研究,在美国硅谷实验室推出全新的软件开发环境管理模式--云计算管理平台。
云计算是用于描述平台以及应用程序类型的一个术语。
云计算平台可以根据需要动态地部署、配置、重新配置以及回收服务器。
该平台是新一代的数据中心管理平台,相比传统的数据中心具有突出的技术优势。
使企业能够通过提高利用率、降级管理和基础架构成本以及加快部署周期,进一步降低成本和简化IT管理。
“云”也是下一代计算平台,它能提供动态的资源池、虚拟化以及高可用性。
云计算的整体环境分为两部分:
运行环境和管理环境(如图21)。
运行环境由一组计算资源服务器(也称为“云机”)组成,通常采用扩展灵活的刀片服务器或计算功能强大的UNIX小型机服务器组成,上面运行Linux或UNIX操作系统。
每一台云机都可以由操作系统切分(也称为硬切分)或者Xen切分(也称为软切分)成多个虚拟机,每个虚拟机上可以安装自己的操作系统和基础软件。
管理环境是由组部署管理软件组成的,它们包括TivoliProvisioningManager、TivoliMonitoring、WAS应用服务器、DB2数据库和虚拟化组件所组成。
它们的组合用来监控、部署、调度、管理整个云计算环境。
管理环境通常部署在PC服务器上。
此外,管理环境中通常会有一台服务器用于存放介质库,这些介质都是部署到“云机”上的基础软件。
图31云计算总体架构图
云计算常见的应用场景:
管理员需要从“云机”中分切分出四台虚拟机,一台数据库服务器和三台应用服务器,前者安装AIX操作系统和Oracle数据库,后者安装Windows操作系统和WebSphere应用服务器,且配置形成Cluster环境。
这一切都可以在管理环境中选择配置完成,云计算环境会自动从合适的资源机中分配出相应的虚拟机并安装操作系统,再从介质库中选择相应的基础软件(比如Oracle和WebSphere)安装并配置完毕。
介质库中可以存放任何软件,通常需要配合相应的静默安装脚本。
虚拟机的使用方式与真实的机器相同,远程使用的方式取决于其安装的操作系统,对于Windows虚拟机可以使用远程桌面,对于UNIX虚拟机可以使用Telnet,其它的方式比如VNC、XWindow等等。
假如我们用三台PC服务器构成管理环境,用若干台刀片和两台小型机构成运行环境,其物理部署图如图22(示例)。
云计算环境的总体容量取决于运行环境中的计算资源。
图32云计算环境物理部署(示例)
云计算管理平台软件清单:
ProductDescription
RedHatEnterpriseLinuxAS5.1
IBMWebSphereApplicationServerNetworkDeploymentV6.1
IBMDB2EnterpriseServerEditionCPUOptionforMultiplatformsV9.1
IBMTivoliProvisioningManagerforLinuxonINTELV5.1.0
IBMTivoliMonitoringV6.2
IBMCloudAsset
3.2云计算平台用例
3.2.1用例一:
资源申请
软件公司(以下简称A公司)根据云计算方案对环境的要求,使用云计算运行管理平台,为新的项目搭建开发、测试环境做如下准备工作:
●云计算平台方案的软硬件范围内,根据项目的具体要求,确定项目所需的机器类型、数量、操作系统和软件;
●确定项目(软硬件资源使用)的起始和结束时间;
●获得A公司的云计算管理平台用户帐户;
●准备完成后,可以开始登录云计算管理平台提交资源申请。
公司项目资源申请人通过云计算管理平台提交项目资源申请,详细步骤如下:
以A公司帐户登录云计算管理平台,用户使用界面如图23
图33登录管理平台
登录后,可以看到属于A公司帐户的项目信息汇总、信息提示和项目列表。
点击“RequestNewProject”链接,开始项目资源的申请。
用户使用界面如图24
图34申请项目资源
选择项目的起止日期,可以分别设定项目的起始时间、结束时间和持续时间,也可以通过拖动滚动条来设定项目的起止日期。
设定起止日期后,系统将显示这段时间内可被申请的机器的类型和数量。
用户使用界面如图25
图35选择资源占用日期
指定项目名称及描述,用户使用界面如图26。
图36指定项目名称及描述
选定要添加的机器的类型,点击相应的“add”链接。
用户使用界面如图27。
该操作可以重复多次,为项目添加多台机器。
图37添加需要的机器类型
然后指定机器的数量、操作系统、基础软件。
其中,输入的机器数量不能超过机器的可用数量。
操作系统可以为Linux。
选定操作系统后,可以看到在所选的操作系统上能安装的软件列表,可以同时勾选多个软件进行安装。
用户使用界面如图28
图38指定机器数据和操作系统
3.2.2用例二:
管理申请
数据中心云计算管理员查看各项目资源申请,可终止不符合要求的申请
以超级管理员身份登录云计算管理平台。
在项目列表中点击项目查看细节,以确定是否符合要求。
用户使用界面如图29。
图39查看项目申请
如果项目申请不符合要求,点击”TerminateProject”终止项目。
用户使用界面如图210。
图310终止项目
在时间到达时,未被终止的申请,项目资源缺省会自动分配,软件环境也被自动安装。
当时间到达项目开始时间后,所申请的资源被自动分配,项目状态变为“Active”,用户使用界面如图211。
图311自动安装
3.2.3用例三:
自助管理
A公司项目资源申请人查看项目资源分配情况,得到资源的访问方式
A公司以本公司帐户登录云计算管理平台,当项目状态变为“Active”,表明项目资源已经分配,可以开始使用。
点击进入项目细节页面,可以看到具体的软硬件部署情况,通过IP信息和缺省的帐户可以访问为项目部署的软硬件环境。
用户使用界面如图212
图312自动查阅虚拟机IP地址
A公司项目人员访问分配的项目资源;
A公司项目资源申请人从云计算管理平台得到项目资源的访问信息,A公司项目人员以此访问分配的项目资源;
A公司项目人员可以在自己的机器上手工下载并安装配置开发平台的客户端软件,访问云计算平台自动分配的服务器端资源;
如果客户端软件在创建项目时选择自动安装在云计算平台的机器上,A公司项目人员可以连接到这些机器,进行配置后通过远程方式使用这些客户端软件;
A公司项目资源申请人查看项目资源使用情况,监控资源;
A公司项目资源申请人通过项目细节页面查看项目资源的运行状态,包括CPU占用率,内存和硬盘的剩余空间。
用户使用界面如图213
图313自动查看项目资源使用情况
A公司项目资源申请人可为项目增加资源,或延长项目资源的使用时间,或终止项目资源的使用并释放资源
在项目资源申请或使用过程中,A公司项目资源申请人都可以变更项目资源,包括增加资源、延长资源使用时间,或终止项目并释放资源。
如果项目周期变长,需要延长资源的使用时间,在资源没有被别的项目申请或使用的情况下,A公司项目资源申请人可以更改延后项目的结束日期。
用户使用界面如图214
图314自动变更项目资源
当时间到达项目的结束时间,云计算管理平台自动释放项目占用的资源,供新项目使用。
3.2.4用例四:
统计计费
数据中心云计算管理员可查看各项目资源申请的使用情况和历史记录,统计计费
数据中心云计算管理员可以从云计算管理系统中获取所有用户的项目资源申请使用情况,包括起止时间、机器类型和数量、以及所装软件,进行统计、收费。
3.3对环境和基础设施的需求
3.3.1网络的需求
●局域网
通常来说,由于整个云计算环境的耦合度相对较高,推荐部署在局域网中。
操作系统和基础软件部署安装时需要较高的带宽,所以多数情况下,运行环境和管理环境也在一个局域网中,但可以处于不用的网段,以便安全隔离。
●VPN配制
为了提高安全性,外部接入可以通过VPN。
●允许虚拟域名
可以通过虚拟域名的方式隐藏虚拟机的IP地址,以增强安全性。
有时也可以将多台相关的虚拟机分配在一个虚拟域中,而与其它虚拟域隔离。
●Internet访问
虚拟机如果要接受来自Internet的访问,通常需要有额外的安全保护措施。
3.3.2安全设计需求
为了保证云计算平台以及其管理的内部系统的安全,外部用户需要通过VPN来访问云计算平台所提供的系统资源。
同时,对运营中心提供的网上商业应用应该通过SSL/HTTPS来加以保护。
此外,整个系统必须在防火墙的保护之下。
4软件生命周期管理环境
4.1协作和开发蓝图
在当今的经济形势下,全球组织在软件交付方面要应对两个新的挑战。
首先,团队成员必须能够容易地互相访问,并能够容易地访问组成其软件项目的不同资产集合,以便相互协作、共同实现目标。
但由于项目团队成员(包括开发人员、管理人员、业务合作伙伴和客户),以及项目资产可能位于世界上的不同地方,使得协作变得复杂起来。
其次,当团队成员必须在共享的可交付件集合上协作时,每个人都应该具有自己的角色和责任,从而对共享环境拥有自己的视图。
开发人员在开发生命周期与测试人员合作,但开发人员关注的是代码和缺陷,而测试人员关注的是功能和覆盖率。
在同一项目中,管理人员必须持续监视项目状态、平衡资源使用,并管理项目风险。
项目的客户提出需求和反馈,并按照协商好的项目计划跟踪进度。
为了让每个人高产,开发环境必须理解每个人工作的上下文。
幸运的是,全球技术基础设施——特别是Internet和基于Web服务的使用——提供了久经考验的可扩展解决方案来应对分布和协作的挑战。
由新技术驱动的工作方式,比如那些利用Web2.0概念的工作方式,变得更为常见,并转变了用户的期望。
例如,通过eBay或Amazon的全球采购每天都会发生。
消费者理解:
当他们使用URL请求服务或应用程序时,他们不需要知道请求的服务或数据在哪里,基础设施将提供“后期绑定”并解析位置。
那些运行在后台的软件之间协作的能力和价值也容易理解。
开放源码项目,比如Linux和Firefox,已经变得家喻户晓。
业务人员和一般民众欣赏在全世界搜罗知识以获得突破性解决方案带来的很多好处。
那么,在开发和交付业务软件解决方案时,我们为什么不实现这些相同的方法呢?
项目团队本质上是全球业务领域的缩影,他们的团队成员和资产在地理上是分散的,独一无二的技能和资源可能位于任何地方。
成功的应用程序生命周期管理(ALM,ApplicationLifecycleMangment)环境必须应对这种复杂性,方法是:
连接项目的所有成员和组件,然后为每个人提供基于角色的视图。
通过耦合这两个方面,即:
对公共项目环境的全球访问和个人工作的个性化上下文,团队可以改变他们开发和交付产品的方式。
4.2软件应用生命周期管理指导原则
软件工程领域包括多个环节,归纳为业务建模、需求、分析和设计、实施、测试、部署、配置和变更管理、项目管理及环境。
见图1。
图41IBMRationalRUP的总体结构
4.3软件应用生命周期管理平台概述
该方案旨在提升企业的软件交付的核心能力,通过IBMRational业界的经验;我们建议通过以下五点来逐步提审,具体为需求管理、架构管理、开发管理、质量管理和项目管理。
●需求管理主要包括需求的开发和需求管理。
●架构管理通过业界标准UML进行系统建模。
●开发管理定义开发的迭代计划、随时监控开发情况、开放流程的管控、变更配置管理、集成及发布管理。
●质量管理包括质量管理流程、测试管理和测试工具实施。
●项目管理包括项目计划、实时从项目开发管理中收集信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 外包 服务 信息技术 平台 方案设计