三种常用的需求分析方法 要开发一个软件应该考虑哪些方面?

[更新]
·
·
分类:互联网
3111 阅读

三种常用的需求分析方法

要开发一个软件应该考虑哪些方面?

要开发一个软件应该考虑哪些方面?

软件是一个系统工程,业界有软件工程一说。软件工程也是各校计算机系必修科目。开发一个软件应该考虑哪些方面,我们将引入软件工程中的一些概念和元素进行描述。
同时,作为企业,客户或者个人而言在进行软件开发时,除了要考虑软件工程外,还需要考虑到相关的资源。这里的资源包括人,预算,开销,时间等等。而这些包含进去,就涉及到项目管理的范畴。
接下来我就从 软件工程和项目管理的角度进行描述软件开发需要注意的方面。
从软件工程的角度看,软件开发包括了前期的需求分析,系统设计,详细设计,然后才到大家通常认为的编码实施阶段,接下来时测试培训,交付上线。最后还有一个不能忽略的阶段,那就是系统维护阶段。
需求分析阶段:通常采取访谈(interview),workshop,调查表等多种方式,由资深的应用/业务顾问 (Application Consultant/Business Consultant),向客户了解需求并进行确认。初始阶段的需求分析非常重要,稍有偏差,便有失之毫厘,谬以千里的风险。相信广大程序员朋友们都经历过变更,尤其是项目后期。当你的代码测试了一遍又一遍,自信满满确定几乎没有bug了,这时候leader告诉你不好意思,变更来了,你做的那一块要改成这样,改成那样 : ( 。当然项目前期需求收集,分析阶段不确定性比较大,所以我这里强调需要有自身的应用/业务顾问进行把关。当然有些变更是不可避免的。系统设计:需求分析好了,需要做Solution Design了,这时候Solution Architect进场(资深方案架构师)。要想后期编码实施轻松,系统设计阶段,如果有资深大牛把关后面的日子就会好过很多。包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等。有时候要用到新的技术,还需要进行快速的新技术调研。当今技术蓬勃发展的年代,有时候客户的需求必须使用到新的技术,也许是整个团队之前都没有接触过的,这时候就需要架构师总体把关了。通常会有技术天分的小组成员进行技术可行性调研。详细设计:大的框架结构,技术方向在系统设计阶段完成,确定了以后,对于各个模块而言进行详细设计。好的详细设计文档包含了模块内所有用例(use case)的逻辑处理,以及逻辑处理涉及到的算法。通常需要资深的程序员进行这部分文档的书写。好的文档写出来,后面coding的同学就会一身轻松。编码实施:如果前面详细设计做的好,到了这个阶段就相对轻松。但是对于程序员的基本功还是很有要求的。另外有一点就是自己的单元测试一定要做好。测试培训:这个阶段其实分两个小阶段。一个是测试,一个是对用户的培训。测试包括集合测试,压力测试等,最后是UAT(User Acceptance Test)。如果都没有问题,就择良辰吉日上线了。用户培训这个环节相当重要,千万不可忽视,直接关系到最终用户对整个系统的接受程度。一般会选取种子用户先进行功能培训,并和种子用户一起对所有用户进行整个软件的使用培训。交付上线:前面这么多的阶段都完成了,所有的测试也通过了,是不是上线就一帆风顺了。呵呵,根据笔者的经验,未必。上线的时候或多或少都有一些幺蛾子。新系统上线还算好,对于旧系统升级,如果系统相当庞大,国内一般也就只能是国庆/春节进行了。为啥,有7天假期,也就是说有7天的时间用户不使用系统,这7天过程中如果出现问题也不影响用户的操作。但是如果7天时间无法上线,不好意思,只能回退,等待下一个7天的假期。维护:上线了,该庆祝了,一般软件公司上线后都有庆功会。庆祝后,不要忘了还有软件系统的维护。首先,任何系统都无法保证不出bug。其次,对于实际的应用来讲,对于复杂的系统,每天产生的数据量巨大,对于性能方面,是需要有相关监控以及相应的。在用户使用了一段时间以后,会发现一些问题也会产生一些需求。所以,软件系统的维护也是相当重要的。
上面说了这么多,都是从软件工程的角度,也都是提到了资深架构师,资深顾问,好的详细设计等等。这些都是资源,都是需要争取的,如果争取不到,不好意思,项目经理就要多辛苦了。
接下来就从软件开发这个项目的角度出发,站在项目管理的角度上,有哪些需要注意的。项目管理方面我是用PMP的体系来进行描述,笔者之前通过PMP认证,觉得PMP的体系在整个项目管理过程中也是行之有效的。PMP中涉及到项目的范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,风险管理,采购管理,干系人管理等。对于软件开发尤为重要的几个环节,我这边会进行描述。
时间管理:做软件开发,一定会有schedule,什么时候开始,什么时候结束。那么这里的进度计划就显得尤为重要了。一定需要在规定的时间进行交付。成本管理:无论今天是一个公司,或者一个客户,或者一个独立的自然人所拥有的资源和时间都是有限的,能投入到软件开发中的资源也是有限的,如何能够在给定的资源中完成软件开发,是对项目经理一个要求。很有可能我上面提到的那些资深顾问,资深架构师项目经理根本要不到,或者公司也提供不了,这时候就要另想方法。风险管理:进行早期的风险识别,以及相应的定性,定量分析,来制定应对的计划,从而能够达到对风险的控制。实施整体变更控制:绝大部分项目都会有变更,软件开发也不会例外。笔者对此就很有体验。对于变更的管控,也是对项目经理而言很有挑战的一项任务。
上述的都考虑到,基本整个软件开发也不会有什么大问题了。
如需要进一步交流,欢迎留言或私信。

去哪儿找免费的市场调研报告?

工作原因,经常需要用到各行业数据,后来就开始有意识的搜集各种数据网站,这么多年过去了也搜集了不少,今天就给大家分享一下我的宝藏免费数据网站们,里面包含了很多市场调研数据报告。
行业数据网站1、Mob研究院
网址:
介绍:Mob研究院是一家专注于行业现状与趋势研究的机构,涉及20 行业领域,深入挖掘与分析行业现状及变化趋势,输出专业数据报告,并提供定制化研究报告的服务。
评价:。是我见过的数据报告研究机构当中最为清流的,在各个新媒体平台上风势很大,做的内容也比较有意思,专业性也比较高,可信度也是比较高的;
推荐指数:★★★★
网站界面:
2、艾瑞咨询
网址:
介绍:艾瑞咨询是解决商业决策问题的专业第三方机构,经常发布一些不同行业的数据和产品报告,比如医疗、生产制造、内容营销、教育、零售、B2B、物流、体育、房产、互联网、云服务、文化娱乐等行业。
评价:这个网站中的报告数据还是比较有可信度,而且是免费的。
推荐指数:★★★★
网站界面:
3、艾瑞咨询
网址:
介绍:豆丁报告网为中国企业提供各行业的行业分析报告、行业研究报告、市场调查报告、行业调研报告、市场研究分析报告等产品和服务。
评价:这个网站大多数的报告都能看,但是想要获得参考性比较大的报告数据,就需要付费;另外这个网站也比较老了,很多服务都不是很到位。
推荐指数:★★★
网站界面:
4、QUEST MOBILE
网址:
介绍:QuestMobile拥有多条数据服务产品线,服务内容覆盖数据统计、数据分析、数据挖掘、营运精分、用户增长,核心产品包括Truth系列、Growth系列,也是国内为数不多可覆盖APP全生命周期数据研究的公司
评价:个人非常喜欢的一个数据报告网站,十分专业而且几乎涵盖各个行业,而且它所提供的数据样本与分析,已经成为多所高校及国家机构科研项目数据来源,也是国内一家数据登入国家学术核心期刊的移动互联网大数据研究公司。
推荐指数:★★★★★
网站界面:
5、199IT
网址:
介绍:中文互联网数据研究资讯中心是一个专注于互联网数据研究、互联网数据调研、IT数据分析、互联网咨询机构数据、互联网权威机构。
评价:缺点是只有互联网行业的数据,并且适合一些企业进行数据报告研究,对于个人的话价值不大,性价比比较低;
推荐指数:★★★
网站界面:
分析数据来源 1、中国统计信息网
网址:
评价:网站有全国各级政府各年度的国民经济和社会发展统计信息,数据还是非常权威的。支持根据行业、年代、城市来查找数据报告。其中部分数据是免费的,部分数据是需要充值才能获得。
推荐指数:★★★★
网站界面:
2、国家统计网
网址:
评价:各种民生相关的统计数据,所有数据都是免费,而且这个网站的友情链接里还有很多其他地方的数据以及国外数据。此外,网站还附有一些统计的行业标准以及数据的生产过程。整体还是非常实用的。
推荐指数:★★★★★
网站界面:
3、中国产业信息网
网址:
评价:网站有各个行业的数据,并且全是免费的。但是经过我的查看,部分行业数据2018年后就没有更新过了。若是对数据的新鲜度有要求的话,查找数据的时候要看清数据上传时间。
推荐指数:★★★
网站界面:
4、美国政府公开数据网
网址:data.gov/
评价:美国政府公开数据的网站,包含了经济、消费、教育、医疗、农业等多个领域的数据。在国内也可以直接登录,通过在首页进行搜索查找相对应的数据集。不过网站界面是英文的,要有些英文基础才看的懂。
推荐指数:★★★
网站界面:
5、阿里天池
网址:
评价:作为国内互联网龙头阿里巴巴旗下的大数据竞赛网站,提供了很多比赛数据集可以练手,说不定还能顺手拿个奖,赚点奖金。网站的数据分类是官方数据和公共数据,可以根据需求选择数据种类进行分析。
推荐指数:★★★★
网站界面: