(3)使用第三方控件:本项目中使用了ComponentArtWeb.UI第三方控件。该控件在很大程度上满足了客户对软件界面的需求,为软件操作带来了方便。在今后的项目开发过程中,我们应继续使用第三方控件。
通过使用这些技术和工具,无论是从软件界面的美观性、友好性和易操作性,还是从系统开发效率来看,都是非常好的途径。但需要注意的是,在使用第三方控件时,要谨慎选择一些网络中常见的第三方控件。
(4)使用自定义控件:本项目中使用了自定义控件(GhdGridView),该自定义控件能够统一系统中的所有信息显示表格样式。如果客户对数据显示样式有新的要求,我们无需修改每个页面的表格样式,只需修改GhdGridView控件的样式,系统中所有继承自GhdGridView的表格样式都会随之改变。
(5)系统开发框架:本系统采用了简单的三层结构框架,在开发中小型软件时非常实用。但如果我们能够开发出自己的框架,并将一些通用功能开发到框架中,将进一步提高开发效率并减少维护费用,使我们的技术不断成熟。
(6)系统安全加密:为解决客户提出的系统安全问题,我们采用了Ikey加密硬件钥匙来验证客户端的合法性。该Ikey钥匙可以绑定到一个系统使用用户,也可以让多个用户使用一个加密钥匙验证登录系统的合法性。
通过使用Ikey加密钥匙,即使用户的密码不慎丢失或被不法人员取得,他们也无法登录到我们的系统中,从而提高了系统的安全性。Ikey加密钥匙是非常好的加密BS架构软件的硬件工具,在今后的软件安全方面可以借鉴。
3项目经验总结
3.1签定合同
一个项目的开发成败或者说项目开发带来的效益大小,在很大程度上取决于项目合同的签定。很多时候,公司与客户签定的项目合同非常模糊,很难明确约定,这样会导致项目的后期工作量越来越大,影响项目的竣工周期,同时项目的开发费用也不会改变。因此,我们在签订合同时应尽量明确合同的功能边界和添加新功能的条件。
3.2开发团队
项目确立后,我们应尽快建立起项目开发团队。团队成员之间的团结合作和相互沟通是非常重要的,团队成员应相互学习彼此的优点和技术,不断提高团队的能力。此外,团队中应有一位项目负责人,他应在与客户沟通和技术方面都具备出色的能力,能够很好地沟通客户和开发成员之间的需求,以更好地理解客户的功能需求。由于人的记忆力有限,开发团队成员应尽量书写开发文档,这些文档往往是我们在项目开发后期需要的重要资料。团队士气是项目成功的一个因素,我们需要不断培养团队士气,使团队不断壮大。
3.3需求调研
项目确立后,需求调研分析阶段开始。
(1)对客户的整体组织结构、公司人员关系和职责等要有充分了解,否则无法很好地整理客户需求,无法了解客户真实的功能需求。因此,我们需要与客户建立良好的工作和生活关系,深入了解客户需求。
(2)我们尽量让客户参与到项目开发团队中,使客户将自我纳入到项目开发团队中,这样我们更能了解客户需求的真实性和可靠性,避免为项目后期功能开发埋下陷阱。
(3)在需求调研过程中,缺乏足够的用户参与会导致需求调研的失败。许多程序员不愿参与客户的需求调研,因为与客户沟通比与代码沟通更有趣。尽管如此,我们仍需花费足够的时间与客户沟通,了解他们真实的需求。同样,很多用户也不愿参与项目的需求调研,因为他们认为需求调研不如与朋友一起闲聊有趣。尽管现实如此,我们仍需努力使客户参与需求调研。
(4)模糊需求是需求规格说明中最可怕的问题之一。一方面,客户对需求说明有不同的理解;另一方面,单个读者可能用多种方式解释某个需求说明。面对这种情况,我们的调研人员需从不同角度分析客户的需求,并最终整理出最真实可靠的需求与客户确认。我们绝不能凭借自己的单面理解来确定客户的最终需求。
(5)在项目开发过程中,文档的书写非常重要。因为在开发后期与客户沟通时,文档是我们寻找依据的重要资料,也是程序员在编码过程中需要的重要文档。我们绝不能仅凭记忆记录所有开发需求。即使你是天才,你也不可能凭借自己的大脑记录所有开发需求,因为人的精力是有限的。因此,在需求调研中,我们要做好需求文档的记录和整理。
(6)需求调研工具的选择对于客户来说,图形化界面更具吸引力。因此,在调研过程中,我们要尽量使用图形化界面与客户沟通需求。例如,可以使用Rose工具将客户的意见转化为用例图、时序图、协作图、状态图、类图等,使表达更加直观。这样客户能更快地理解问题的实质。
3.4做好开发计划
项目确立后,我们需要制定好项目开发计划,包括需求调研时间、开发时间、测试时间、实施时间和维护时间。在制定好计划后,我们需要随时跟踪计划任务的完成进度,以掌控项目进度,确保按时或提前完成开发任务。
3.5很好的沟通
在其他行业中,人与人之间的沟通非常重要。项目开发也不例外,良好的沟通可以加快项目进度。因此,我们每个开发人员都应学会与客户和同事之间进行良好的沟通。在项目开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到必要阶段时,我们需要与客户沟通已有功能,尽量避免潜在问题,及时发现和解决问题,以按时或提前完成开发任务。
3.6做好工作总结
在项目进行过程中,我们需要不断总结工作情况,这样无论是在技术方面还是其他方面都能有很大的提高。长期的积累将使我们个人和团队的能力得到提升。