热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)

两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件,这个项目当时是跟他们的网络中心的老师洽谈的,网络中心负责此项目的老师,跟我们年龄差不多,30不到,可能要比我

两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件,这个项目当时是跟
他们的网络中心的老师洽谈的,网络中心负责此项目的老师,跟我们年龄差不多,30不到,可能要比我小上2-3岁,
主要是管理日常的硬件网络为主的,对开发软件了解得不多,但是也懂一些。

当时客户跟我讲,他们有一个FoxPro做的很早的软件,用了10年了,一直没更新,而且无法在Windows2000等
操作系统上运行,只能在Windows95下运行,本来办公室的空间就不大,放上2台电脑,日常办公实在是不太方便,
想把这个记录公文收发的软件进行一次升级,这样,只用一台电脑就可以了,应该是从哪个方面去考虑都是提高办公
效率,节省办公空间,新的软件应该也用得比较舒服了。

主要功能,非常简单:能把发公文的详细信息记录上去,还有把收到的公文的详细信息记录上去,然后记录好这些
文件,都要分发给谁看,都谁谁什么时候看过?就这么3个功能,你说要多少钱吧?

客户还说了,一个比较庞大的财务系统,现在都很成熟了,也就万八的就可以了,你就开发这么3个功能,要多少钱?
我想,这么一讲,我也不能超过1万了,人家还讲了,现在比较成熟的办公软件也就千八的,你说也不能开价太高吧?
我心里想,开发这个功能,数据库里建立3个表就可以了,在做几个页面,不就可以了嘛?

我想想,也有道理啊,我自己弄一下,应该半个月,足够了吧,反正是一个很小的系统,那就先开价8000吧,也不用
1万了,我就当是业余时间做做也成了,不就很简单的功能嘛?给公司能赚点儿就是赚点儿钱好了,对吧。

而且我开发软件也接近有10年的经验了,应该开发这么点儿东西,不是三下两下不就可以了吗?还有一家小公司也在
想做这个,但是教育局谁做得好,就用谁的,我想我是大牛,我怕谁,难道有人还能比我还做得好,我对自己是有充分
的信心的,还好真没遇上牛人,最终那个小公司没能做出来,现在想想,就万八的小项目,合同也签订不了,而且还2
家争这个小蛋糕,我何必去弄这个呢,真是犯贱了,连公司发给的工资也赚不来啊。

===================================================================

以上过程,我犯了好几个错误(这是进过2个月的折腾之后,才总结出来的,不容易啊)。
1。谈项目,定价格不是我们技术人员定的,而是要由市场部,或者领导来定的,我们技术人员是没资格谈项目价格的。
2。最具体的功能到底需要哪些,需要做到多细,都要由哪些详细的功能也都没了解,最终有多少个工作量也不知道就定了价格。
3。没有考虑充分考虑问题的复杂性,这个倒是那个部门用?有几个人用?都有谁谁来用?真的是单机版就可以了吗?
4。没有签订正规的合同,你可能做了一大堆,其实这个项目已经给别人做了,把你叫过来,只是对比一下,询价一下。
5。没有深入了解客户的情况,例如教育局这个项目的价格是最终由谁来定,谁说了算?倒是谁是付款的人?
6。没有深入了解这个项目的前前后后,后来听说这个项目有好多人弄过,但是最终都失败了,因为没这么简单。
7。以前十年的数据要怎么办?难道都丢了?用崭新的?数据如何导?数据前后设计的格式不一样怎么弄?
8。新项目如何正式上线?老数据如何倒入,什么时候导入?新系统如何测试?2个系统如何平滑衔接?
9。我们公司领导是否允许你做这个项目?公司领导来谈,能谈成几万,你好自己做主弄一下8千就可以了,不是把好项目谈砸了?

这个项目,后来遇到了很多很多问题,但是最终我还是成功了,因为我毕竟工作了10年了,天天做软件,不大可能失败。
要是遇上刚毕业的,或者不是专业做软件,那就惨了,白折腾不算,还折腾客户,项目也失败,丢人也要命。
就这么就几个功能,我后来足足折腾了2个月才全部搞定,有兴趣的,请看下陆续文章。

 

将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。

推荐阅读
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
author-avatar
沛妤林_654
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有