关注微信 欢迎致电:400-8310-286

你在这里

新蛋订单管理项目

项目概述

客户同时在新蛋网和eBay网上做电子产品的外贸生意。客户想通过获取新蛋上的订单到本地,然后根据此订单到eBay网上派单的过程。

该软件主要是利用指定网站API去获取该站点上某店铺的订单,然后在本地进行按需显示、派单及统计利润等管理。

需求分析

  • 用户管理。能创建和删除用户,授予管理员权限。
  • 新蛋网订单获取。通过该站点提供的API进行获取数据到本地。
  • 计算产品运费。通过客户地址信息,利用API获取对应得运费。
  • 派单。通过获取到的产品数据,到Ebay网上给对应客户进行派单。
  • 回填。派单完成后,需将派单信息回填到新蛋网。
  • 统计功能。通过统计分析,让客户了解产品的销售情况。

相关技术

  • C#
  • DevExpress
  • EntityFramework

解决方案

  • 采用优秀的DevExpress界面控件,界面华丽,操作简便。
  • 合作方式,及时透明沟通,向客户发送日报和周报,让客户了解项目开发情况。
  • 项目部署,客户遇到的问题,我们都会想办法解决,让客户能顺利地,熟练地使用。

亮点

  • 通过指定网站的API去获取需要的相关订单到本地。
  • 对获取到的数据进行不同标记,从而准确地派单。
  • 多方面的统计分析,准确、简单明了。

客户收益

  • 客户能方便快捷地获取到需要的信息(指定到每个单元格就代表已复制)。
  • 客户能方便快捷地找到产品的所在的网站地址,从而了解最新详细信息。
  • 客户能够及时的了解自身产品与其他指定网站价格的差价和利润,从而更改价格,避免亏损。
  • 通过不同标记对订单区分状态并记录原因,直观明了。
  • 极大程度地为降低了客户的时间成本,同时提高了数据分析的准确性,避免人工误差。

项目截屏

登陆-用户登陆信息可以通过软件进行管理

主界面-展示指定网站上的订单

详细信息-展示客户信息和价格分析结果

大类统计-商品大类别的数据统计

小类统计-商品小类别的数据统计

产品统计-具体产品的数据统计

CMS产品原型开发

概述

我们的客户是一个荷兰的个人客户, 客户希望通过开发一个产品能够帮助中小企业,Soho简单、方便的创建宣传自己业务的网站。

由于客户的预算不多,产品开发存在一定风险,我们和客户商讨决定将产品第一个版本的开发分为2个子项目来进行:原型开发阶段子项目(80h)和正式产品开发阶段(160h)。

需求

  • 系统允许登陆用户通过简单向导自助创建自己的站点
  • 系统允许用户在创建站点的过程中队站点的外观进行定制
  • 系统允许用户对自己站点的内容进行管理
  • 系统将对维持用户创建站点运行的行为进行收费。

解决方案

通过分析,根据我们的经验,我们推荐客户参与DotNetNuke做为CMS系统的框架,来定制这个产品,通过定制一个Site Builder module, 利用site template完成系统建站的核心功能。考虑到时间比较紧张,我们推荐客户在线购买了一套支持多种配色方案,允许定制外观支持BootStrap规范的DNN Skin。结合这套Skin的特性,我们将在Site Builder中做出一套设计器,方便用户进行定制。考虑到时间受到限制,我们推荐原型阶段只实现paypal支付实现系统收费特性。

客户对我们的方案寄予了充分的信任,开发过程中密切配合我们做出相应的反馈,从而保证了我们原型工作顺利完成。

原型截图

1. Site Builder

2. Base Information

3. UI looks & feel

4. Payment

5. Success to build

6. Visit

7. Edit

8. Paypal Payment

客户收益

客户如期收到了原型项目,初步达到了设定目标,增强了产品进行第2阶段的信心。客户决定继续跟我们合作开发第2阶段项目。

 

诺怀软件成功取得双软认证

2013年11月,诺怀自主研发的“可为CRM系统”成功地通过了“工业和信息化部软件产品登记”,正式成为了被国家认可的软件产品。 

 

2013年12月,诺怀通过专家组的审核,被认为符合国家有关软件企业的规定,成功获得了“工业和信息化部软件企业认定”证书。从此,诺怀软件正式成为“双软企业”!

  

 

成功通过双软认证,使诺怀能够获得国家政策的扶持,给未来的发展打下了良好的基础。这个标志性的里程碑事件,对所有诺怀人都是一个巨大的鼓励,我们将继续坚定地研发具有自主知识产权的软件产品;将以更大的热情,把更好的软件产品和服务,带给我们的客户!

理疗公司综合业务管理系统

一:概述

我们的客户是一家医疗和理疗连锁公司,总部位于澳大利亚,主要从事中西结合的医疗和理疗。

客户想要在最初基于WordPress开发的前端网站上开发一个综合业务系统。能够完成基于展示网站的预定,支付。可以基于不同的医师不同的方案预定。也可以支付优惠劵送朋友和家人。后台采用cakephp处理逻辑。完成员工工作的电子化办公。员工可以查看当前预定的客户,最近预定的客户,以及需要再次来检查的客户。并可以导出相应的电子表格。达到了完全的自动化办公。

二:需求 

角色管理,基于cakephp的ACl量身定做,系统可以创建角色,用户只可访问角色所指定的视图。 用户可以指定地点,医师,时间完成预定,预定结束可以利用paypal完成支付。

医师可以查看当天的预定以及以前的结果,并集成了日历管理系统,当前医师的任务,需要处理的预定等一目了然。

支持可视化的管理和查询。可以按照预定的价格,预定的用户姓名等细节查询。医师可以调用当前用户的历史记录,查看当前用户的理疗和治疗的历史记录和注意事项,并支持打印成电子表格。

基于cakephp(MVC)的灵活定制,满足后期业务扩展灵活的加入功能,相应理疗和治疗方案互不影响,达到了完全满足客户需求的目的。

三: 技术需求

  • Apache
  • PHP
  • Js(canvas)
  • Jquery
  • Cakephp 2.x
  • MVC 

四: 系统分析

基于Cakephp的纯MVC架构。满足了对于客户业务逻辑的灵活定制和扩展性。系统具备各种良好的特性,如良好的用户体验、迅捷的响应速度、强大的性能、丰富多样的分析能力、实时的跟踪监控能力等。

 

五: 开发中遇到的困难:

客户时间需求比较急,需要在高效的实现全部需求。在需求上理清各理疗方案的关系需要冷静分析。

集成功能比较多。日历管理,权限管理,画布功能(电子绘画),预定支付功能,电子表格(excel,pdf)导出功能等。

为了快速高效的满足客户需求,采用了cake console的形式来实现各MVC(理疗系统)的雏形。

采用canvas 实现画布功能。

利用日历插件嵌入需求逻辑满足需求。

 

六: 总结

团队成员凭借自身成熟的技术积累及项目经验,利用全新的HTML5实现了客户许多特定的需求,网站运行效果不错,用户体验颇佳,最终成果获得了客户认可。

技术方面,探索和解决了许多前沿棘手的难题,并且在满足客户需求的前提下追求更优解决方案,以客户为中心,最终获得双赢

七: 系统截图

登陆页面

医师管理页面

用户预订的查询界面

 

基于日历的管理系统

特定医疗系统的电子化办公

 

历史查询和导出电子表格

 

在线预订系统

支付系统

 

 

固定总价合同 vs 工料合同

固定总价合同 vs 工料合同

    今天下午公司几个同事一起讨论了下如何跟客户的合作模式以及如何选用合同类型的问题,我也有不少思考,就借机整理下自己在这方面的看法,希望能抛砖引玉。

    在项目实践中,我们跟客户有很多种不同的合作方式,这些不同的合作方式通常也对应着不同的合同类型。无论起什么名字,采取什么形式,从根本上来,就是两种合同类型,一种是开口合同,一种是闭口的合同。在我们公司,开口合同以单价合同为代表(PMP中叫成本补偿合同、工料合同),闭口合同以固定总价合同为典型。我想总结下这两种合同各自的特点和适用场景。

    要回答的问题是:当一个客户或项目过来时,应该如何选择合同类型?最简单合理的答案,就是看采用哪种类型的合同对项目最有利。那该如何判断哪种合同对项目最有利呢?这就不得不先搞清楚这两种合同类型各自的特点,要先对他们做个对比,然后再根据项目本身的特点去选择。

Excel 插件开发经验分享

Excel 插件开发经验分享

 

1. 这个文档写的是些什么?

 

这个文档分享了我在Excel插件开发中所遇到的问题和对应的解决方案。希望对要进行Excel插件开发或者想自己写插件增加效率的朋友有所帮助。

 

首先描述一下我的Excel开发遇到的场景:

我需要开发一个Excel的插件可以从后台Web Service获取数据然后显示到Excel中,那么就存在一个问题:Web Service的数据是通过什么方式写到Excel中呢?答案是Function!通过函数的方式写入Excel中。请看下面这幅图:

首先我会在C3 – C8 输入年份 2005 - 2010,这时候我需要在D3 - D8 使用函数 =GetPriceByYear(),参数就是C3 – C8的年份,然后从Web Service获取相应的数据写入其中。看到这里你可能会说用VBA就好了啊?VBA也可以调用Web Service啊,问什么这么麻烦用插件?

军用仓库的资产管理系统

发展历程

合作时间 - 此项目于2012年4月启动,持续至今

团队规模 – 平时是2人,多时4人,前后共历时约50个月

项目费用 - 目前已经投资约15 W美元,近100 W元人民币

合作模式 – 我们为客户配置研发团队,满足客户系统研发的全部需要

里程碑:

2012年4月,双方正式开始合作,诺怀根据客户需要,为客户配置了一个2人的初始研发团队;

2012年11月,第一套定制系统如期上线,成功部署到用户环境,顺利运行;

2013年5月,第二套定制系统成功交付给客户,稳定运行至今;

2013年9月,成功开发客户定制的第三套系统,项目进入维护和支持阶段;

2013年11月,按时交付客户网站原型,按时交付系统培训资料,皆获得了客户的认可;

技术

  1. 平台: .Net Framework 4
  2. 数据库:SQL Server 2008 R2
  3. 数据访问:Entity framework 5
  4. 系统框架:ATS.Win.Framework
  5. 数据同步框架:Microsoft sync framework2.1
  6. 前端框架:Winform
  7. 第三方控件:DevExpress11.2

挑战和对策

需求不明确

问题

对策

客户对系统只有文字性的描述,写的是整体思路,并没有详细到能明确具体页面设计的程度,客户也没有时间提供详细的规格说明书,开发人员经常得猜测客户想要什么。

总而言之,系统的很多需求都有待明确。

我们建议客户通过系统模型来让需求可视化,并通过为客户开发原型、根据客户的反馈更新原型等方式,逐步细化系统需求,也逐渐明确了页面设计。

明确的需求为后续开发节省了很多时间。

业务不熟悉

问题

对策

我们对军方的后勤管理、资产管理流程不熟悉,对相关的行业术语和标准也不了解,造成了需求理解以及客户沟通方面的困难。项目进度受阻。

通过整理行业术语表、仔细研读客户提供的行业资料、学习标准和规范、整理流程图等方式,开发团队逐渐对行业有了深入的理解,这极大提升了沟通和开发的效率。

无专职设计

问题

对策

客户方并没有专业的设计师,客户也没有提供明确的界面设计,导致初期的界面设计很粗糙、没有统一的风格,不但易用性不强,而且用户体验不好。

制作界面原型,跟客户不断讨论页面设计的思路和风格,并且在这个过程中,将共识逐步整理成界面规范,双方形成了统一的认识,让整个团队的设计有共同的依据。

客户对整个系统的界面设计非常满意。

上线时间紧

问题

对策

客户事先设定了一个系统的上线时间,并进行了相应的宣传,相对于项目如此众多的不确定因素,这个上线时间非常紧迫,有很高的跳票风险。

迭代式开发 – 整个团队每两周都向客户提交当前最重要的功能模块并获取客户反馈,通过渐进式的开发、频繁的提交,系统在预定时间线及时发布了最核心的功能。

应用环境差

问题

对策

军事环境内有很多限制,对数据的访问、通讯条件、网络的使用等都有严格的政策,这导致系统的数据同步成为一大难题。

同时,系统使用者的电脑水平不高,必须让他们觉得好用易用才能顺利推动系统落地。

采用了基于磁盘的数据同步方案和微软Sync Framework的同步框架解决数据同步的问题,降低了维护成本。

极为简化的操作设计,以及跟纸质报表一模一样的报表系统,降低了培训成本和落地难度,使系统实施能够顺利进行。

客户收益

1. 在预期的时间内,客户先后得到了3套量身定做的信息系统,并且成功在最终用户处部署,使自己的商业计划得以落地;

2. 专业的开发团队和开发服务,使客户得以专注地进行市场和销售工作,促进了其企业的快速发展;

3. 敏捷软件开发方法以及ODC合作模式,使得客户的系统能够在需求不明确的情况下就快速启动研发,同时通过频繁迭代,迅速演变,使产品能更早上市,帮助客户抢占了市场先机;

4. 得益于ODC合作模式的灵活性,客户随时可以根据来自市场的反馈,调整功能需求的优先级和重要性,确保团队总是开发最被市场需要的功能,客户能对市场变化迅速响应;同时,总是专注于最有用的功能,也使客户的投资回报最大化,减少了无用功能造成的资源浪费;

5. 合理的解决方案、优良的系统架构、高质量的代码、人性化的设计、诺怀帮助客户成功的优质服务、长期合作的理念,这些都帮助客户降低了系统的总拥有成本,尤其是系统实施和后期维护的成本;

系统截图

Metro风格的程序主界面

跟纸质报表一致的报表体验

灵活的系统盘点策略

课程跟踪和管理系统

需求

这一应用由两个网站组成,主网站为员工使用,另一个网站为教练使用,它们使用同一个数据库。来自不同部门的员工负责不同的工作。拿回驾照的整个流程被分为许多步。每个部门负责一部分,完成后再将学员移到下一个部门。

此应用在整个流程中会生成许多发票。司机必须要完成支付才能参加下一项课程。此外,教练也可以为自己的工作向公司开出发票。

截屏

解决方案

ASP.NET MVC

此应用程序要求迅速反应和良好的用户体验,MVC使HTML代码变得更加整洁,并且很容易被Ajax要求使用。此外,我们拥有丰富的ASP.NET MVC经验,并且我们知道对大多数网站来说,它就是最好的解决方案。

Entity Framework & CodeFirst

Entity Framework提供了多条进入数据库的方法: 查询,插入,更新,删除。CodeFirst模式使对数据库的更改简单易行。开发初期,数据库的有很大的可能性会发生变化,多亏了Code First,使得每位开发人员都能通过改变模型很方便地改变数据库。

NDBUnit Test

此应用程序的业务逻辑较复杂。为确保所有的逻辑都正确实施,进行单元测试是一个不错的选择。使用NDBUnit进行单元测试,我们能够在XML文件中编写样本数据,所有的测试都可以使用这些数据。在这一项目中,我们还改进了单元测试的架构,这样使得编写新测试数据和维护已存在数据变得更加容易。

MVC最佳实践

我们使用和改善了许多MVC最佳实践。例如:

  • 规范所有Ajax请求,包括HTML, JavaScript和C#规范;
  • 规范form表单元素,不写自定义的页面元素;
  • 用简单的客户端验证方式来验证表单
  • 其他:把所有弹窗统一标准,使用辅助类来做相应功能,使用异步操作的时候最好在页面显示进度条或者一个等待的提示信息。.
  • MVC最佳实践细节。

客户的收益

所有功能完成后,客户对我们的工作表示非常满意。虽然业务逻辑复杂,但是所有的需求都准确地实现,并且用户体验也非常不错。

此应用程序数据量非常大,数据库查询复杂,但总体上,性能不错。

此应用程序帮助员工和教练监督驾驶员的课程情况并决定他们的驾照是否可以再次发放。

酒店管理项目

亮点

  • 在特定的时间期限内快速高质量地进行开发
  • 采用敏捷项目开发方法以应对频繁变化的需求
  • 对界面设计和可实施解决方案积极提出建议

相关技术

解决方案和结果

  • 为方便维护和修改,widgets和页面布局的耦合度被大大降低,代码变得整洁、符合逻辑。
  • 在合作一段时间后,我们赢得了客户更深的信任,客户将更多的工作交给了我们。
  • 合作期间,每天我们都会给客户发送详细的工作报告并且每周进行总结让客户了解项目的情况,以此消除他们的忧虑。同时,在将代码提交给客户之前,我们会测试所有的代码来保证其的质量。我们已经准时高质量地完成了所有分配给我们的任务。整个团队赢得了客户非常高的评价。

客户的收益

  • 重构后的代码极大地提高了应用程序的可扩展性,稳定性和可维护性
  • 极大程度地为客户降低了开发成本
  • 我们已帮助客户完成前端任务这样他就可以更加关注于业务规则
  • 客户能够更加容易地重构,发布,下载和部署现有版本,这些都有利于提高客户的工作效率和质量。

截屏

    
   
    
 
 
 

升级在线ERP到ASP.NET MVC4

客户需求

  1. 升级现有网站到ASP.NET MVC 4
  2. 提高网站性能和用户体验
  3. 平滑过度,系统升级不能影响现存老系统的正常使用
  4. 针对频繁变更的需求实施敏捷开发
  5. 为系统设计和移植提出有价值的建议

涉及的技术

  • C#
  • .NET 4.0
  • ASP.NET MVC 4
  • NHibernate
  • Web service
  • Stored Procedure
  • Reporting Services

系统分析

数据库分析

现存数据库非常庞大,包含大量的正式运营数据,尺寸在400M左右。 数据库有将近200个表单,100个视图,同时还有很多存储过程和自定义方法。而且数据库表单的命名比较模糊,并没有严格按照业务名称来命名。

框架分析

系统采用三层架构,表现层用MVC,主要通过Domain Model将数据传输到页面。由于系统有很多页面存在Ajax局部刷新,并且这些刷新主要是采用MVC.ajax来处理,几乎没有在页面上编写JS代码,也没有使用jQuery,因此JS相对来说难以维护。

解决方案

数据库重构解决方案

因为数据量大并且数据表单命名不规范,我们将数据库表单全部整理到了业务逻辑层。并且对现有数据表重命名,主要是对现有数据表名加上前缀,例如CRM_,HR_,CMS_. 这样可以让数据库在以后更加容易维护。

数据库升级方案

系统存在非常复杂的业务逻辑,而这些业务逻辑的正确处理,都是基于数据的正确性。因此,我们在开发过程中需要特别关注数据备份、数据丢失这些问题。这样一旦数据库损坏导致系统不能正常运行,可以通过恢复数据库来修复此问题。在开发阶段,我们会定期地将当前运行环境的数据库备份到本地,这样我们可以使用真实的数据来进行测试,同时不会影响系统的正确运行。为了保证平缓地升级,任何数据库结构的更改,都会通过数据库升级脚本的形式来实现。

框架解决方案

为了将程序从ASP.NET MVC2升级到ASP.NET MVC4,采用RAZOR视图,同时提高系统性能。我们重构了系统架构,减少了客户端与服务端之间的数据传输,主要通过局部刷新,在Json中传输数据来提升性能。另外还将JS文件分类管理,减少了ERP系统的页面浏览数量,不但用户体验和性能被大大提高,也减少了系统的维护成本。

开发方案

开发初期,客户的主要关注点在于新特性的开发工作,并没有给予系统维护和升级足够的重视。因此我们把系统进行了划分,新特性的开发基于新的架构,同时把老旧系统的改造和重构也纳入工作列表,并且制定了明确的开发计划。在此基础上,项目的进度和质量都得到了良好的控制。我们频繁地向客户提交版本,并且基于客户的反馈持续完善系统的功能,项目逐步走上良性循环。

  1. 我们使用NUnit在后台为特定的接口进行单元测试。
  2. 我们采用频繁交互,频繁沟通,及时更新计划来适应需求变更,这是敏捷开发的最佳实践,这种做法帮助客户最终得到对他最有价值的网站。

客户收益

  • 平稳地从旧系统升级到了新系统,没有对现行业务造成任何影响。
  • 性能增强,用户体验得以提高。
  • 扩展性更强的结构,更易维护的代码,更低成本的维护。

Screenshots

    

       

  

页面

备案/许可证编号为:渝ICP备14000366号-1