什么是软件开发方法?有那些主要开发方法?
软件开发方法是一种使用早已定义好的技术集及符号表示习惯组织软件生产过程的方法。
主要有:结构化方法、Jackson方法、维也纳开发方法和面向对象的开发方法。
软件开发流程
软件开发流程(Softwaredevelopment process)
软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
1 相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
2 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。
这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。
3 系统分析员和用户再次确认需求。
4 系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。
5 系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。
6 测试编写好的系统。
交给用户使用,用户使用后一个一个的确认每个功能,然后验收。
举个例子来看:
1 某公司想找人订做一套人事管理软件,从某种渠道上得知我们有提供这种服务,所以联系上了我们。
2 我们会派专门的软件工程师到他们那里去了解我们要设计一个什么的东西给他们用,然后回来做个方案给他们,其中方案的内容包括:我们开发出来的软件大概的界面是怎样?方便什么人使用?什么人可以使用什么功能?方便到什么程度?大概的硬件要求是怎样等?
3 他们看了方案后,确定他们就是要做一套这样的软件,我就开始开发这套软件。
4 我们把开发出来的软件交用他们使用,其中在使用的过程中哪里使用不方便或哪里达不到要求,我们会第第一时间修改这些功能,直到他们要求的所有功能都能很完美的解决掉。
编辑摘要
常用软件开发模式方法及优劣对比有哪些
快速原型模型:
(需要迅速造一个可以运行的软件原型,以便理解和澄清问题)
快速原型模型允许在需求分析阶段对软件的需求进行初步的非完全的分析和定义,快速设计开发出软件系统的原型(展示待开发软件的全部或部分功能和性能
(过程:用户对该原型进行测试评定,给出具体改善的意见以及丰富的细化软件需求,开发人员进行修改完善)
优点:
克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险
缺点:
A、 所选用的开发技术和工具不一定符合主流的发展
B、 快速建立起来的系统加上连续的修改可能会造成 产品质量底下
增量模型:(采用随着日程时间的进展而交错的线性序列,每一个线性徐磊产生软件的一个可发布的“增量”,第一个增量往往就是核心的产品)
与其他模型共同之处:它与原型实现模型和其他演化方法一样,本质都是迭代
与原型实现模型不同之处:它强调每一个增量均发布一个可操作产品,(它不需要等到所有需求都出来,只要摸个需求的增量包出来即可进行开发)
优点:
1、 人员分配灵活,一开始不需要投入大量人力资源
2、 当配备人员不能在限定的时间内完成产品时,它可以提供一种先推出核心产品的途径,可现发布部分功能给用户(对用户起镇静作用)
3、 增量能够有计划的管理技术风险
缺点:
1、 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析
注:
这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程
原型模型:
(样品模型,采用逐步求精的方法完善原型)
主要思想:
先借用已有系统作为原型模型,通过“样品”不断改进,使得最后的产品就是用户所需要的。
原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求,
采用方法:
原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应
优点:
(1)开发人员和用户在“原型”上达成一致。
这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。
(2)缩短了开发周期,加快了工程进度。
(3)降低成本。
缺点:
1、当重新生产该产品时,难以让用户接收,给工程继续开展带来不利因素。
2、不宜利用原型系统作为最终产品。
采用原型模型开发系统,用户和开发者必须达成一致:
喷泉模型:
(以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目)
它认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性
相互迭代:软件的摸个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分
无间隙:它在各项活动之间没有明显边界(如分析和设计活动之间<由于对象概念的应用,表达分析,设计,实现等活动只用对象类和关系>)
优点:
1、 可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程
不便之处:
1、由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。
2、这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况
螺旋模型:
(适合用于需求经常变化的项目<适合于大型复杂的系统>)
它主要是风险分析与评估,沿着螺线进行若干次迭代,
过程:
1、 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
2、 风险分析:分析评估所选方案,考虑如何识别和消除风险
3、 实施工程:实施软件开发和验证;
4、 客户评估:评价开发工作,提出修正建议,制定下一步计划。
优点:
1、 它由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发中
缺点:
1、 难以让用户确信这种烟花方法的结果是可以控制的
2、 建设周期长(而软件技术发展比较快,所以经常会出现软件开发完毕后,和当前的技术水平有很大的差距,无法满足当前用户的需求)
3、 除非软件开发人员擅长寻找可能的风险,准确的分析风险,否则将会带来更大的风险
瀑布模型:
(从本质来讲,瀑布模型是一个软件开发架构,重复应用)
(核心思想:按工序将问题化简,将功能的实现与设计分开,便于分工协作,采用结构化的分析与设计方法将逻辑实现与物理实现分开,依照软件生命周期自上而下,相互衔接的次序<如同瀑布流水逐级下落>)
缺点:
1、 在项目各个阶段之间极少有反馈,各个阶段的划分完全固定,阶段之间产生大量的文档,增加了工作量
2、 用户只有在项目生命周期的后期才能看到结果,增加了开发的风险
3、 需要过多的强制完成日期和里程碑来跟踪各个项目的阶段
4、 在每个阶段都会产生循环反馈
(如果有信息未被覆盖或是发现问题了,必须返回到上一个阶段<甚至更前面的活动>并进行适当的修改,只有当上一阶段都被确认后才进行下一阶段)
5、 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果
优点:
1、 为项目提供了按阶段分的检查点
2、 当完成一个阶段后,只需要去关注后续阶段
3、 可在迭代模型中应用瀑布模型
按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试
一个软件项目的实施方案要怎么写?
智软冶金行业I-ERP实施方案
i-ERP(/ Enterprise Resource Planning)——企业资源计划是当今世界上最先进、有效的企业管理技术,作为新一代的ERP系统。
它将企业的物流、资金流和信息流及人力资源、办公自动化、电子商务、决策支持等系统统一起来进行管理,对企业所拥有的人力、资金、材料、设备、方法(生产技术)、信息、时间等各项资源进行综合平衡和充分考虑,最大限度地利用企业的现有资源取得更大的经济效益,科学、有效地管理企业人、财、物、产、供、销等各项具体业务工作。
实施i-ERP能够使企业开源与节流并进,加强了客户关系管理,提高客户满意度,使企业内部管理更加高效、规范、扩大市场占有率、降低企业成本、提供辅助决策、网上销售、网上办公等诸多功能。
《智软i-ERP系统》是一套基于INTERNET/INTRANET管理的面向制造型企业的软件包,涵盖了企业的几乎所有经营业务。
它以智软办公自动化系统(AI OFFICE)为中心粘合剂,实现领导对EPR系统的各个模块进行综合查询及辅助决策,模块间是高度集成的,流程是通畅的,数据可以充分共享,这与单一模块的软件开发有着本质的区别。
《智软i-ERP系统》分成四条主线:供销存、生产、财务及OA、电子商务。
各条主线内部业务的联系相对紧密,而各条主线之间的联系主要通过公共数据库完成信息传递。
智软i-ERP今后还将会把SCM(供应链管理)、CRM(客户关系管理)等系统结合起来,以满足企业不断发展的需要。
系统特点:
1、高度集成化和模块化相结合
《智软i-ERP》的各子系统是高度集成的,各子系统可以从其它相关的子系统中直接获取所需的数据,同时也将本系统内产生的数据自动传递给其它相关子系统,减少了数据的重复录入和数据在传递过程中可能发生的差错。
《智软i-ERP》在设计过程中同时采用了模块化的设计方法,使得各子系统既可以独立使用,也可以结合在一起使用。
用户可以根据自己的业务需要选择安装相应的子系统,待以后业务扩展后再安装其它的相应子系统。
这种设计可以帮助企业逐步实现一个完整的、涉及到企业全局的现代化管理信息系统。
2、多单位集团化管理模式
《智软i-ERP》直接支持总公司与分公司、总厂与分厂等形式的多单位集团化管理模式。
总公司/总厂的所有指导性、指令性计划可以直接下达给相关的分公司、分厂,而分公司、分厂的具体计划执行情况和业务状况也可以通过汇总直接传递给总公司。
从而实现了集团内部信息交换的快速与准确。
在数据库设计时,用单位代码作为关键字,以区分各单位的数据记录。
3、使用方便灵活,适用性强
《智软i-ERP》系统中所有需要输入代码的地方都有在线的提示功能,使得用户在操作过程中不用记忆众多的代码,为此在开发过程中我们为相应的代码字段都编写了提示程序。
系统中的所有应用程序都有在线帮助信息,指导用户如何使用程序。
系统中有许多管理方法和管理项目可以通过用户的事先设定选择使用。
为此系统提供了许多由用户来定义的参数和代码,用户可以根据自己的业务需要选用不同的参数设定。
这种设计可以使系统适应不同管理业务的需要。
4、多角度的数据统计分析及辅助决策
《智软i-ERP》的各子系统都提供了大量、丰富、灵活的查询统计及分析报表。
从单一条件查询到多条件模糊查询,从单一业务数据查询到跨业务连锁查询分析,从当前业务数据查询到历史业务查询,从独立业务记录查询到业务数据汇总分析,系统全方位多角度的为用户提供所需要的信息。
5、OA及电子商务
《智软i-ERP》使企业领导能够通过OA系统实现对整个企业ERP系统各模块情况的了解、提高企业的办公效率、节省企业费用,实现网上办公。
适应将来社会的发展,积极开拓网上销售市场,为企业寻找新的销售增长点。
6、实现生产、供应、销售、财务的一体化管理
实现企业内外业务处理的全面管理,用数据仓库技术实现企业经营管理的辅助决策分析和预测。
7、企业/系统和办公自动化系统
实施企业/系统和办公自动化系统并将它们有机结合,提高企业工作效率,实现企业管理透明度,加强全员的参与意识和主人意识,企业文化的体现。
8、充分考虑企业未来的发展
《智软i-ERP》考虑到企业未来的发展及整个市场环境的变化,为系统未来的扩充留有充分的设计和数据接口。
例如:与计算机辅助设计/制造(CAD/CAM)、计算机辅助工艺(CAPP)、自动货仓(AS/RS)、电子数据交换(EDI)等等都留有数据交换接口。
系统主要功能:
主要功能模块有:采购管理、库存管理、销售管理、分销管理、运输管理、帐务管理、报表管理、、预算会计、固定资产管理、工资管理、成本会计、生产管理、生产计划、物料需求计划、能力需求计划、人力资源管理、设备管理、质量管理、经营预测、办公自动化、电子商务、辅助决策等等多方面。
企业ERP项目实施方案制定与沟通技巧详解
软件应用尤其是ERP项目的实施是一个复杂而艰巨的系统工程,它涉及到软件公司的产品成熟与否、实施人员对产品的熟悉程度、用户的所有制体制、上层领导对项目的重视程度、中层干部对ERP流程认可程度、业务人员对操作的熟悉程度,以及企业效益、文化、人文地理环境、ERP厂商和客户的沟通程度等方方面面的因素。
因此,可以这样认为,每实施一个ERP项目,就如同指挥一个重大的战役。
ERP系统实施小组的双方负责人就是这场战役的指挥官,他们(她们)要按照既定方针精心部署:如何控制各项工作合理有序地进行,如何协调各方面的工作关系,如何合理地配置人力和各种资源,并制定详细可行的工作进度,在保证实施质量的前提下,尽可能缩短项目实施周期,减少实施成本,以达到ERP厂商和用户双赢的目的。
ERP项目的实施包括:方案的制定、项目的组织和协调、进度管理等方面的内容。
方案的制定
首先,项目小组要对系统做详细的调研,确定实施目标,界定实施范围和实施顺序,写出系统调研报告,双方签字认可后,作为实施的依据。
根据项目情况,项目进度和工作计划可按天或周制定。
系统的详细调研至关重要,它直接关系到后续实施的成功与否。
一个好的、全面的详细调研已完成了实施工作量的一半。
因此在做详细调研时,不能放过任何一个细小的的环节,要敢于直面客户。
更不能怕客户提需求,因为客户需求是客观存在的,既不能回避,也不会因为详细调研没有涉及到而消失。
当客户化工作完成后,再来实现客户某些需求时,修改软件的工作量可能会比新增软件功能的工作量还要大,有时不仅是增加实施成本的问题,甚至会导致整个实施项目失败。
系统调研不详细所造成的另一个后果是项目实施周期长,甚至会导致项目很长时间不能结束,同时还可能引起软件厂商与客户之间的矛盾。
客户认为ERP软件这也不能做,那也不能做,而软件公司则埋怨客户的需求没完没了。
对客户的需求,关键是要区分哪些是操作性的、哪些是流程性的。
对流程性的要求,要进行认真的梳理,以区分哪些是受企业、行业乃至国家整个经济大环境影响,现阶段必须修改的,哪些是需要客户重组自己业务或修改自己流程的,哪些是不能迁就客户的,但前提必须是抱着对客户负责的态度。
例如,我们在机械行业的一个企业实施ERP时,在仓库管理子系统中,没有实行货位、货架及批次管理,在这种情况下,我们完全可以按照现有的管理模式进行实施,并且ERP系统也支持非批管理的模式。
但我们并没有迁就现有的管理模式,而是考虑到企业今后的发展,我们先按通用批次和通用货位进行实施,待企业具备条件后,再指导企业如何对货位、批次进行管理。
这看起来,首次实施增加了工作量,但从整体效益来看,减少了后续程序的维护工作量,降低了实施成本,并且树立了软件公司为企业负责的良好形象。
与用户的协调
首先,实施小组要安排好自己内部的工作。
尤其是同时实施几个项目的情况下,要了解和熟悉本项目实施小组每个成员的特点,包括业务特点和性格特点,对谁比较熟悉哪个子系统业务、谁的业务能力比较强、谁较善于与客户沟通、谁比较细心等情况做到心中有数,充分发挥小组每个成员的积极性,因人制宜,合理安排工作,以保证几个项目同时顺利进行。
其次,积极主动地与用户协调,要充分调动用户项目负责人的积极性,使他们充分认识到工作的重要性、责任的重大性;尤其要使其认识到,ERP项目实施过程中的艰巨性和复杂性,以及通过该项目的实施可以提高自身业务素质。
例如,有一次在与用户项目负责人的交谈中得知,该项目负责人由于种种原因很快就会离职,另有高就,但对该项目而言,中途换人无疑是一大忌。
而且关于项目新负责人的性格、脾气、秉性、对业务的熟悉程度、与各方面及各部门的沟通能力等等,这一切我们都要重新了解并与之磨合。
于是我们做起了耐心、细致的思想工作,从工作需要到对自身价值的提升、从企业现状到ERP的发展。
最后该项目负责人表示,待该ERP项目实施结束后再决定离职,从而保证了ERP项目的一气呵成,顺利实施完毕。
09-02-14 | 添加评论 | 打赏