(3)软件业务流程参考:___业务管理系统流程说明.doc
(4)软件使用手册参考:___业务管理系统功能说明3.0.doc
(5)软件业务流程参考:___业务管理系统流程说明.doc
(6)软件中使用到的第三方控件:ComponentArtWeb.UI20xx.1252forasp2.0.rar
(7)软件中使用的安全Ikey驱动:IkeyDriver.rar
以上参考资料截至20xx年_月3_日是最新的,如有修改,请修改此处的参考文档名称。
2开发工作评价
2.1对生产效率的评价
项目开发历时近1年的时间,开发过程中存在较多的反复性工作,对客户的需求理解也不够透彻。综合以上情况,项目的开发效率较低,存在相当的时间浪费。
2.2对产品功能的评价
在大家共同努力下,___业务管理系统已经很好地完成了客户的业务流需求。经过对客户使用过程的观察,该项目的功能开发仍然比较成功,但仍存在一些问题。这些问题的原因多种多样,包括前期系统数据库设计缺陷、部分代码构建缺陷以及对客户需求理解不足等。因此,我们需要耗费一定的时间来维护客户使用过程中提出的新问题和进行调试工作。总的来说,该系统的功能开发仍然是一个相对成功的案例。
2.3对技术方法的总结
在此项目中,我们使用了一些技术和工具:
(1)使用代码生成器:我们使用了[动软.Net代码自动生成器],该工具极大地提高了编码效率,加快了项目的开发进程。在今后的项目开发中,我们应尽量使用类似的工具以在最短时间内完成工作。此外,最好能够开发适合自身的代码生成工具,以进一步节省开发周期和费用,并提高我们的技术水平。
(2)使用数据库建模工具:我们使用了PowerDesigner工具来建立系统数据库模型,以便程序员更好地理解业务流程和掌握系统架构思想,更好地满足客户的功能需求。在今后的项目开发中,我们应更好地完成系统的前期数据库模型建立,以最大限度地优化系统功能。
(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做好工作总结
在项目进行过程中,我们需要不断总结工作情况,这样无论是在技术方面还是其他方面都能有很大的提高。长期的积累将使我们个人和团队的能力得到提升。