论软件开发模型及应用

软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。

1.简要叙述你参与的软件开发项目以及你所承担的主要工作。

2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。

3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。

范例

摘要部分:

**年**月,我所在公司承担了**平台的开发工作,我有幸作为该项目的技术负责人参与整个开发过程,并负责了该项目的需求分析与系统设计的工作。该系统主要包括**等业务功能模块。 本文以**平台为例,主要论述了统一过程开发模型在该项目中的具体应用。在初始阶段,我们建立了业务模型并且确立项目的边界;在细化阶段,主要对需求流程进行补充和完善;在构建阶段,主要是开发构件和应用程序功能,并将其集成为产品。整个项目历时10个月开发完成,到目前运行稳定。实践证明,这种开发模型有效的提高了开发效率,降低了开发成本和项目风险。

【注意:实际写作中相关项目情况应介绍清楚,摘要字数(包括标点符号)一般写到300到320字】

正文部分:

目前由于******更迫切需要解决*****等一系列亟待解决的问题。【项目背景内容可分2段写,第1段简要说明下项目来龙去脉】

**年**月,我所在公司承担了***平台的开发工作,我有幸作为该项目的技术负责人,参与整个开发过程,并负责了该项目的需求分析与系统设计的工作。该系统主要解决**,其中包括***业务功能模块组成,*****。因此,如何能够让项目开发顺利进行,选择一种合适的开发模型组织开发显得至关重要的。【第2段对系统整体情况进行细致介绍,项目背景第1、2段内容可以写到400到450字】

当前主流的开发模型主要有瀑布模型,演化模型,螺旋模型,统一过程(UP),敏捷开发模型等。其中,瀑布模型,是一种严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。适合于业务需求比较明确且很少变更的项目。演化模型,是从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。适合于用户需求不明确的项目,且软件完善周期较长。螺旋模型,是一种结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。适用于项目规模庞大,复杂且高风险的项目,由于流程复杂,增加了大量成本和时间消耗;敏捷方法,是一种以人为核心、迭代、循序渐进的开发方法。适用于小规模软件或者小团队开发;统一过程(UP),一个通用过程框架,适合于各种应用领域、组织类型、性能水平、项目规模的项目;采用了强大的UML建模语言,能够在团队中形成统一规范和模板,同时有很多成熟商业软件提供整个开发周期的相关支持,可以极大的降低开发和管理成本,提高开发效率。因此,我们选择采用统一过程(UP)开发模型。

基于统一过程(UP)的软件项目一般分为初始阶段,细化阶段,构建阶段和交付阶段四个阶段。本文主要着重从前3个阶段具体论述统一过程开发模型在该项目中的具体应用。

首先,初始阶段,我们主要为整个系统建立业务模型并确立项目的边界。由于养老机构很多业务流程基本相同,通过调研分析和整理,并利用UML工具PowerDesigner对系统业务模型进行梳理,识别出与系统交互外部实体,譬如,日常需要使用养老管理平台的老人,护工,主管和管理员,还有需要进行接口对接的医院设备和信息系统和各种医疗厂商的穿戴设备等,并利用PowerDesinger建立相关类结构图和数据库结构的概念模型。同时,还有这些实体如何与系统进行交互的各种流程,为了整理的更加准确和清晰,其间,我们与各个养老机构进行了反复沟通和确认,最终定义出尽量符合养老机构业务规范的通用流程,这样既满足了各种机构的业务要求,又能给成长中的养老机构提供更好的借鉴参考的空间,最后利用PowerDesigner的建立相关用例图和时序图,并整理相关的设计文档,以备后续系统设计使用。同时,我们对各个机构一些特殊需求进行了梳理评估,对其中暂时无法实现或者实现成本较高的,加入到风险列表,跟用户最后再进行协商和确认,有些进行调整变化,有些直接放到后续项目升级中加以实现。

其次,细化阶段,主要是基于初始阶段确定下来的需求流程进行补充和完善,同时,淘汰业务中风险最高的元素。识别出主要功能和一些重要的非功能需求,做出最佳的决策。我们基于初始阶段的成果,对实体进行进一步的梳理,譬如,剔除无用的实体类,抽象合并和留下真正需要的实体类,同时根据业务需要补充类之间的关系。我们对业务用例也进行进一步梳理,譬如,在养老管理平台中,我认为养老档案的管理是整个平台的主线,贯穿始终,不仅仅在机构版中重要,在未来扩展的社区版中也需要,所以项目在进行概念设计时我们对养老档案数据结构的进行扩展性设计,充分考虑到以后系统的扩展需要。根据系统业务功能需要,我们评估哪些构件需要自研,哪些是需要采用第三方的。譬如,一些业务组件,基于我们原有构件库进行升级和改造,可以直接使用,我们就采取自研,这样既可以提高开发效率,又节省项目成本。而譬如一些基于视频通信的功能,由于自研的成本和本身团队能力限制,所以采用第三方的构件来实现。由于养老管理平台是需要支持IOS和Andriod平台两种平台的手机和PAD,所以,为了减少后期开发和维护的成本,对通信接口格式规范进行了统一的设计,同时,也在架构层面上降低项目的开发风险。

最后,构建阶段,主要是开发所有剩余的构件和应用程序功能,把这些构件集成为产品。由于**平台分为机构版和社区版,同时包括PC端,移动手机端和PAD端程序设计。我们采用了基于组件的方式进行具体功能的构建,譬如,我们设计开发了通用登录模块,统一的权限管理模块,养老档案管理模块,工作查询模块,日志管理模块等。同时,我把团队又根据业务分为机构业务组和社区业务组,主要进行具体业务功能的开发;组件架构组,主要对通用构件进行封装和集成;移动业务组,主要进行移动端开发。由于采用了组件进行开发,既降低开发的风险和后续维护的成本,同时提高开发效率,项目推进过程中取得了不错的效果。由于涉及到全国几十家养老机构,同时,软件的产品质量是以一个企业生存的基础,我们在测试环境也进行充分的工作,譬如,在开发内部进行单元测试,系统模块进行功能测试;同时,由于涉及浏览器和移动端,在各种版本兼容性上也进行了充分的测试;最后,考虑到用户体验,还对系统进行充分的压力和性能测试。

整个项目历时10个月开发完成,最终于**年**月完成交付,到目前运行稳定。通过在生产环境一段时间的使用,用户普遍反馈良好。但同时,也存在一些的不足,例如,在细化阶段没有充分考虑到各养老机构关于业务上区别,缺少了灵活的配置策略,在后期开发完成后无法统一调整,只能在临时为存在差异的机构进行代码层面的修改。以后在这种问题上准备结合原型法的一些思想进行调整,尽量减少类似问题的出现。

实践证明,这种开发模型的选择有效降低了开发成本和项目风险,提高了团队开发效率。**平台是一个通用的管理平台,接下来,作为项目的技术负责人,我会总结现阶段的经验教训,在后续系统升级完善中,不断思考和改进统一过程的方法在项目中的应用,充分发挥统一过程开发模型的更大作用,为公司创造效益的同时,也能够为客户开发出更稳定更高效的系统。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值