Asterisk call center banner

技术与经验 基于过往的项目实践,我们的团队具备如下技术开发能力,如果您的项目需要采用如下技术或平台,那么我们团队可能是您的最佳选择:

语言和平台
技术
ASP.NET 2.0 + AJAX + SQL Server/MySQL P2P通讯,NAT网关打洞和穿越
Visual C++ ,GCC/G++ 基于UDP的高速网络数据传输,比如通过高速网络连接向几个不同地点高速传输大型文件
LAMP(Linux+Apache+MySql+php) 基于PERL脚本的WEB Crawler/结构化或非结构化数据网页抓取和数据提取
Perl/Shell Remote Control / 远程控制
局域网视频会议,组播通讯,语音实时编码和传输 局域网视频会议,组播通讯,语音实时编码和传输
  CDMA MODEM AT 指令集编程

敏捷项目管理流程
·目标与原则

软件创造客户价值是我们创造软件产品最核心的目标,项目管理应该是激发灵感,集中目标为客户提供最大价值的流程,而不应该是简单的日常管理活动.
敏捷项目管理是价值->原则->实践的结合,这也应该是任何一个方法论应该遵循的步骤.

·解决问题的主要方法
敏捷项目管理中采用的原则和模式都是切实的为了解决我们软件开发过程中的实际问题,具体的对应关系如下:

1.客户需求不稳定 - 需求挖掘不全-迭代,原型,沟通反馈,架构扩展性

2.进度要求紧  -迭代,轻量化文档,沟通效率,可复用技术

3.产品适应性差  -团队,人自适应,卓越技术,鼓励探索

·敏捷项目管理的五个阶段


我们的 敏捷项目管理工具和平台:

为支持敏捷开发流程,公司内部建设了有效的支持工具和平台:

1.使用Linux Subversion ServerTortoiseSVN 客户端 版本进行日常版本管理

2.使用Trac的Ticket工具进行任务和Bug跟踪

3.使用Trac的Milestone工具进行发布、里程碑和迭代管理

4.使用Trac的Wiki进行团队信息共享和项目需求、规格管理

质量控制

  在项目的开发、交付过程中,每次的里程碑的达到都由测试的全部通过来决定,根据项目的具体特性和客户的需求,我们灵活采用如下测试组合保证最终的交付达到交付规格要求:

单元测试:目的是确保代码模块单元所完成的功能在任何变化时都是正确的。

验收测试(或叫接受性测试):用于确保具体的功能是否正常工作。特别地,验收测试是一个具体的客户场景,用于完成用户所期望的功能。

UI测试:一般包括一些页面流,提供已知输入并把得到的结果和期望的结果进行对照。

可用性测试:做为“make-or-break”的验收条件性能测试:对于很多应用来说,运行一套测试来确保多个非功能度量要求得到满足是非常关键的

“Smoke”测试:不可缺少的一小撮关键测试,用于确保基本的构建功能正常运行。 Test Harness: 对于粗粒度的功能(特别是对于验收测试和主要的系统场景)进行制度化地测试来,根据捕获的用户输入、正确的输出建立一个TestHarness并使其自动 化。每个捕获的测试用例都 被加入到测试数据库中,并与后面的回归测试相配合。

自动化压力测试“机器人”:对于分层式的架构设计,且各层之间较为有清晰的界线,可以构建一些自动化的测试“机器人”。可以执 行针对某一层来建立自己的测试,并让它重复执行(UI这一层的部分测试,使用工具也可以做到)。

手工测试:被认为一定要用手工才能对系统的某个方面进行测试的那部分内容。让测试人员集中精力于那些很难进行自动化测试的复杂的部分。

运行于构建服务器上的所有测试结果都应该以某种总结式的结果描述呈现出来,并可以根据需要对总结进行钻取(drilldown),在 Wiki上使用一个特别的位置来显示当前的构建结果。当新一轮的构建完成以后,自 动创建需要修改的Bug列表。我们采用工具帮助我们来实现这个发布过程。