Skip to main contentSkip to page footer

开发服务

软件开发服务就是根据您的需求和规范,创建出高质量的稳定运行的软件。它主要包含设计,编码,测试和文档的编写。我们做过的软件类型非常丰富,比如非标的工程平台,设备配置和测试工具,智能装备的监控管理,数字孪生,工业物联网IIoT平台,新能源集控软件系统,非标MES,工业移动APP,WEB应用等等。

软件设计

优秀的设计是一个软件项目可持续发展的保障。

美名软件经验丰富的软件架构师会设计出简洁的分层架构,清晰的模块边界从而保证系统的可测性,可维护性和可扩展性;

技术精湛的美工会设计出友好、易用的用户界面;

安全专家要协助架构师保证系统的安全、合规。
 

编制代码

美名要求工程师的代码必须符合整洁代码规范。

整洁代码是指易于理解、易于维护、可读性高且没有冗余的代码。

它不仅仅是一种技术问题,更是一种文化和态度。

保证整洁代码是一个系统工程。

代码整洁度

我们通过以下三个方面的工作来提高代码的整洁度。

  1. 培训和素质培养:
    为新员工提供全面的培训,包括代码规范、最佳实践和整洁代码的原则。
    • 为开发人员提供编码规范。
    • 提高员工的代码素质,鼓励他们写优秀的代码、参加技术分享会和持续学习。
     
  2. 开发流程优化:
    • 交叉审核,确保每一行代码都经过同事的审查。
    • 在持续集成的系统中引入自动化工具如SonarQube进行静态代码分析,检测潜在的问题并提供改进建议。
     
  3. 投入适当的开发工具:
    • 使用Resharper,SonarLint实时检测代码中的坏味道,以提高开发效率。
    • 使用代码格式化工具,例如Prettier或Black,以自动格式化代码。
     

测试

 

软件测试的价值可能被大部分人低估了。就像我们不会去坐一架没有经过足够试飞里程的飞机一样,测试的重要性怎么强调也不为过。同时,我们还是要考虑成本和收益,所以,我们遵循以下原则:

01

早期介入原则:

越早介入测试,修复成本越低。

02

满足用户需求优先原则:

软件测试不仅仅是为了找出缺陷,更要确保软件满足用户需求。

03

缺陷集群原则:

某些模块中存在更多的缺陷。测试人员应该重点关注这些模块,以便更有效地发现问题。

04

避免生搬硬套原则:

不同项目需要不同的测试方法。测试人员应根据项目的特点和要求灵活选择适当的测试方法。

05

审查和更新测试用例原则:

测试用例应定期审查和更新,以确保测试的有效性和准确性。

06

自动化优先原则:

能用自动化测试覆盖就要用自动化测试,这不仅仅有利于降低人力成本,更重要的是,它可以在不用人为干预的情况下自动运行来保证系统的安全可靠。

我们的宣言:

  1. 测试是设计的一部分。TDD(测试驱动开发)是我们推崇的开发方法,它指的是在写代码之前就写好单元测试,从而确保我们写的类和方法是正确的。
    测试是设计的一部分则是说,我们在做架构设计开始就要考虑系统的可测试性。可测试性高的代码往往也是层次清晰的整洁代码,便于以后扩展和维护。
     
  2. 不仅测功能还要测安全。软件测试不仅关注功能性的实现,还要对系统的安全性进行全面评估。这包括检测潜在的安全漏洞、验证系统对恶意攻击的抵抗能力,以及确保数据在传输和存储过程中的保密性。
     

开发模式

没有绝对好或者绝对坏的项目开发方法。选择合适的项目开发方法会让项目运行更顺利,团队合作更流畅,从而节省时间和资金成本,提高开发效率和项目的成功率。

美名会结合项目的情况在瀑布模式和Scrum敏捷开发模式中做出选择。如果项目会进行较少的迭代,而且需求分析做得比较完整,我们推荐使用瀑布模式;如果项目的最终需求并不清晰,在项目的推进过程中变更比较频繁,我们推荐Scrum敏捷开发模式,它能够更加灵活而快速地响应项目的变化。
 

瀑布模式

瀑布模式是一种经典的软件工程方法,该方法将整个软件开发过程划分为顺序相接的几个阶段,每个阶段都必须完成全部规定的任务后才能进入下一个阶段。

Scrum 敏捷开发模式

敏捷是快速响应变化并在混乱的环境中取得成功的能力。
在现在这个快速变化的时代,敏捷开发模式是目前最流行和最实用的开发方法。
2001年,17软件开发大师聚集在犹他州的Snowbird,讨论他们的共同想法和各种软件开发方法。会后,他们共同发布了敏捷宣言和相应的十二条原则,宣告了敏捷开发方法的正式诞生。
 

 

 

 

Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程。
在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周。
在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量,这大大降低了项目的风险。

您的专业咨询顾问

Jimmy Chen

销售及市场总监