(完整)项目开发总结报告,推荐文档_第1页
(完整)项目开发总结报告,推荐文档_第2页
(完整)项目开发总结报告,推荐文档_第3页
(完整)项目开发总结报告,推荐文档_第4页
(完整)项目开发总结报告,推荐文档_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目开发总结报告1. 引言1.1编写目的项目开发总结报告的编制是为了简单回顾记录项目的开发过程, 总结本项目 开发工作的经验,说明实际取得的开发结果以及对整个开发工作各个方面的评价, 总结开发过程中的逻辑方法。本文档预期的读者为软件开发人员 。1.2背景项目名称:High Go智能购物车系统名称:智能购物车系统开发单位:西北大学信息科学与技术学院“ High Go ”团队 开发历时:四周版权信息:梦想网络资源检索系统是由西北大学信息科学与技术学院“ High GO团队开发,未经作者许可,任何个人或组织不能将其用于商 业用途,系统所搜索的资源版权归原作者所有。1.3定义购物车车身:采用当前市场上

2、最普遍的购物车规格,迎合人们一般的手推 购物车购物的习惯方式。显示屏:在购物车前端,车筐上方安置一块触摸显示屏,人们可以在显示 屏上通过点击屏幕进行一些基本操作,如查询商品信息、查询总价和商品数 量、确认购物单、删除商品等。无线扫码枪:顾客在购物过程中,可以对自己确认投入购物车的商品进行 扫码。将无线扫码枪与显示屏一同安置在购物车筐上方,方便顾客在拿取商品 扫码同时看到新扫码的商品信息。警示灯:在自助购物过程中,超市本身无法对每一位客户进行实时监管, 为了防止顾客忘记自主扫码或者故意不扫码给超市带来损失,在购物车的两旁 将设置警示灯,如果没有通过扫码而把商品直接投入车筐内,则警示灯会启动 发光

3、报警,只有重新扫码并通过显示屏进行确认才能够消除报警。1.4参考资料1刘兵, 刘晓朋 , 曾翔亮 . 基于条码识别技术的智能购物车设计 J. 森林工 程,2012,11.2郑创立 .RI-R6C-001A 集成电路的原理与应用 J. 国外电子元器件 ,2004,06.3李文江,高锋,丁睿.RI-R6C-001A射频芯片在个人医疗信息系统中的应用J. 电气自动化 ,2007, 29.4刘江沙,雷伟,尹酉.基于 CC2430 的串口无线模块的设计 J. 国外电子元器 件,2007,04.5张喆. 基于 STC89C516 的超市智能购物车研发 J. 自动化技术与应 用 ,2009,28.6江田.

4、基于 RFID 的商品购物智能终端的设计与实现 D. 大连理工大 学,2013,06.7张俊谟. 单片机中级教程 M . 北京: 北京航空航天大学出版社 .2006.8张俊.匠人手机M.北京:北京航空航天大学出版社.2008.9刘焕成.工程背景下的单片机原理及系统设计 M. 北京:清华大学出版 社.2008.10颜继红.超市一线员工高流动率问题的研究 J. 科技和产 业,2011,11(4):54-5511韩立毛,赵跃华,钱宇力.基于物品跟踪定位方案的连锁超市应用系统设计J. 铁路计算机应用 ,2009(8)12中国工业和信息化部物联网总体框架与技术要求 ( Y DT/2437-2012 )S

5、 北京: 人民邮电出版社 ,201313叶少龙,刘建群等.PIC单片机在模具条码识别系统中的应用J.广东工业 大学学报 ,2009,26(2):94-9714程子华,阳胜峰.视频学工控触摸屏应用技术 M. 北京:人民邮电出版 社,200615刘伟勋. 家乐福价格欺诈的背后 J. 中国品牌,2011,( 2): 44 -46.16叶少龙,刘建群,吴积荣,等. PIC 单片机在模具条码识别系统中的应用J. 广东工业大学 学报 2009, 26( 2) : 94 - 97.17张佩剑 . 无动力智能节能型自动灌溉系统研究 J. 森林工 程,2005,21( 3) : 19 - 20.18王忠勇, 张

6、建华, 宋豫冀 . 基于 89C2051 的解码器设计 J. 微电子学与计 算, 2002,( 5) : 57 - 58.2. 实际开发结果2.1产品“ High Go”智能购物车系统2.2主要功能和性能“ High Go”系统主要包括以下功能:(1)购物车管理系统(系统初始化模块)(2)购物车管理系统(触摸屏模块)(3)购物车管理系统(无线通信模块)(4)数据库管理模块(5)结算与防盗模块2.3基本流程1)系统初始化模块完成系统变量的初始化,主要包括启动液晶显示屏、检查下位机与上位机的 Zigbee通信网络是否正常(下位机指每台购物车对应的单片机,上位机指超市 端的PC机)以及一些其他一些开

7、机自检工作。2)触摸屏显示模块经过系统初始化,触摸屏处于待机界面。接受指令后,触摸屏将显示用户请 求的各类交互信息。主要流程如下:(下咖无线IM疑most送 逐币端/上位讥;3)无线通信模块主要实现下位机与上位机之间的多对一(多个下位机对一个上位机)数据传 输、命令交互等。4)数据库管理模块数据库管理模块包括对超市商品信息的建立、查询和更新。 主要流程如下:5)结算与防盗模块该模块我们不仅设计了经典的计价算法,还在称重的基础上核对预估重量 与实际重量的偏差值,从而实现防盗和误放提醒功能。主要流程如下:流程逻辑Software2.4进度小组成员四人,从2016年11月15日组队,11月24号正式

8、启动项目,直至12月 20号上交作品,在此期间除了法定期间大家暂停了共一周时间, 其他时间一直致 力于项目的开发工作:2016年 11月下旬一11月末:项目设计阶段11月末,小组成员着手于市场调研,并花费一周时间设计出“High Go ”购物车系统的蓝图。初级阶段圆满完成了预定的目标。2016年 12月1 日 一一12月17日:项目启动和实行核心阶段此阶段由各成员在自己电脑上各自分别编写所属程序,但由于并非按流程为主线的编写方式,软件各模块之间存在一部分接口不明确,软件运行情况的测试也只是整体的大方面的进行,并未涉及细微部分,因此软件运行不是非常稳定,仍有 一些问题亟待解决。2016年 12月

9、18日2016年 12月20 日: 项目收尾阶段 回顾项目并编写总结文档、总结了各位成员的心路历程。2.5费用较分散,无详细统计。3. 开发工作评价3.1对生产效率的评价一个月中,各成员在完成项目的同时并未占用太多自身学习时间,较为高 效地完成了开发任务。3.2 对产品质量的评价虽然项目完成得有些仓促,但在实际测试中最基础的功能与超市适配良 好,因此可以说在基础系统功能上拥有较高的质量。3.3 对技术方法的评价小组采用顺应趋势的、成熟的、主流的技术。3.4出错原因的分析除去时间较紧的因素之外,小组最大问题在于各自实现各自功能,并未以 流程为主线,导致程序在模块衔接时出现很大衔接问题。4. 经验

10、与教训通过这一个多月的努力工作, 我认识到要作一个真正合格的程序员, 或者说 就是可以真正合格完成一些代码工作的程序员,应该具有以下的的素质: 1:团队精神和协作能力把它作为基本素质, 并不是不重要, 恰恰相反, 这是程序员应该具备的最基 本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语, 任何个人的力量都是有限的, 即便如 linus 这样的天才, 也需要通过组成强大的 团队来创造奇迹, 那些遍布全球的为 linux 写核心的高手们, 没有协作精神是不 可想象的。 独行侠可以作一些赚钱的小软件发点小财, 但是一旦进入一些大系统 的研发团队, 进入商业化和产品化的开发任务,

11、 缺乏这种素质的人就完全不合格 了。2:文档习惯说高水平程序员从来不写文档的肯定是外行人, 良好的文档是正规研发流程 中非常重要的环节,作为代码程序员, 30的工作时间写技术文档是很正常的, 而作为高级程序员和系统分析员, 这个比例还要高很多。 缺乏文档, 一个软件系 统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯作为一些外国知名软件公司的规矩, 代码的变量命名, 代码内注释格式, 甚 至嵌套中行缩进的长度和函数间的空行数字都有明确规定, 良好的编写习惯, 不 但有助于代码的移植和纠错, 也有助于不同技术人员之间的协作。 代码具有良好

12、 的可读性, 是程序员基本的素质需求。 比如整个 linux 的搭建, 没有规范化和标 准化的代码习惯,全球的研发协作是绝对不可想象的。4:需求理解能力程序员需要理解一个模块的需求, 很多同学写程序往往只关注一个功能需求, 他们把性能指标全部归结到硬件, 操作系统和开发环境上, 而忽视了本身代码的 性能考虑, 有人曾经说写一个广告交换程序很简单, 这种人不了解在百万甚至千 万数量级的访问情况下的性能指标是如何实现的, 性能需求指标中, 稳定性、 并 访支撑能力以及安全性都很重要, 作为程序员需要评估该模块在系统运营中所处 的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。 就这一

13、 点,一个程序员至少需要 2 到 3 年的项目研发和跟踪经验才有可能有心得。5:学习和总结的能力程序员是人才很容易被淘汰、 很容易落伍的职业, 因为一种技术可能仅仅在 三两年内具有领先性, 程序员如果想安身立命, 就必须不断跟进新的技术, 学习 新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种 要求就更加高了。善于总结, 也是学习能力的一种体现, 每次完成一个研发任务, 完成一段代 码,都应当有目的的跟踪该程序的应用状况和用户反馈, 随时总结, 找到自己的 不足,这样逐步提高,一个程序员才可能成长起来。具备以上全部素质的人,应 当说是够格的程序员了,以上的素质都不是

14、由 IQ 决定的,也不是大学某些课本 里可以学习到的,需要的仅仅是程序员对自己工作的认识, 是一种意识上的问题。通过做这个项目,也了解到软件开发的基本流程: 第一个步骤是市场调研,技术和市场要结合才能体现最大价值。 第二个步骤是需求分析, 这个阶段需要出三样东西, 用户视图, 数据词典和 用户操 作手册。用户视图是该软件用户(包括终端用户和管理用户)所能看到 的页面样式, 这里面包含了很多操作方面的流程和条件。 数据词典是指明数据逻 辑关系并加以整理的东东, 完成了数据词典, 数据库的设计就完成了一半多。 用 户操作手册是指明了操作流程的说明书。 请注意,用户操作流程和用户视图是由 需求决定的

15、, 因此应该在软件设计之前完成, 完成这些, 就为程序研发提供了约 束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和 实际需求往往因此 产生隔阂脱节的现象。需求分析,除了以上工作, 笔者以为作为项目设计者应当完整的做出项目的 性能需求说明书, 因为往往性能需求只有懂技术的人才可能理解, 这就需要技术 专家和需求方客户或公司市场部门)能够有真正的沟通和了解。第三个步骤是概要设计, 将系统功能模块初步划分, 并给出合理的研发流程 和资源要求。 作为快速原型设计方法, 完成概要设计就可以进入编码阶段了, 通 常采用这种方法是因为涉及的研发任务属于新领域, 技术主管人员一上来无法

16、给 出明确的详细设计说明书, 但是并不是说详细设计说明书不重要, 事实上快速原 型法在完成原型代码后, 根据评测结果和经验教训的总结, 还要重新进行详细设 计的步骤。第四个步骤是详细设计,这是考验技术专家设计思维的重 要关卡,详细设 计说明书应当把具体的模块以最“干净”的方式 ( 黑箱结构)提供给编码者,使 得系统整体模块化达到最大; 一份好的详细设计说明书, 可以使编码的复杂性减 低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义 都精精细细的提供出来, 从需求分析到概要设计到完成详细设计说明书, 一个软 件项目就应当说完成了一半了。 换言之,一个大型软件系统在完成了一半

17、的时候, 其实还没有开始一行代码工作。 那些把作软件的程序员简单理解为写代码的, 就 从根子上犯了错误了。第五个步骤是编码, 在规范化的研发流程中, 编码工作在整个项目流程里最 多不会超过 1/2 ,通常在 1/3 的时间,所谓磨刀不误砍柴功, 设计过程完成的好, 编码效率就会极大提高, 编码时不同模块之间的进度协调和协作是最需要小心的, 也许一个小模块的问题就可能影响了整体进度, 让很多程序员因此被迫停下工作 等待,这种问题在很多研发过程中都出现过。 编码时的相互沟通和应急的解决手 段都是相当重要的, 对于程序员而言, bug 永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有! 第六个步骤是测试。测试有很多种: 按照测试执行方, 可以分为内部测试和外部测试; 按照测试 范围,可以分为模块测试和整体联调;按照测试条 件,可以分为正常操作情况 测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。 以上都很好理解,不再解释。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论