讨论题:软件开发过程选择(课前预习思考,课堂讨论)

软件开发过程选择

软件开发过程选择

2019生物医学工程(2班)曾子熙 -
回帖数:0

1、现在需要开发一个软件,该软件的功能是读入浮点数并求三角函数,结果精确到小数点后4位。一旦实现并测试完之后,就完成任务了。你打算选用哪种软件生命周期模型?理由?

瀑布模型。对这个软件的需求很明确,实现开平方功能的算法也很熟悉,因此,既无需通过原型来分析需求也无需用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来年开发该软件。

 

2、假设你被任命为一家软件公司的项目负责人,管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?

增量模型。这个项目按照已对外公布了的日期完成产品开发工作,因此,选择生命期模型时应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得到3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开发式的,以利于今后的改进和扩充。

 

3、对可靠性要求很高(发射火箭、汽车自动驾驶)和要求不高的软件(公司产品宣传、精品课程),分别采用哪种开发模型?

螺旋模型、增量模型。螺旋模型的基本思想就是降低风险,适用于内部开发的大规模软件,可靠性要求很高就意味着低风险,项目一旦开始尽量减少人为因素产生的变因。而要求不高的软件可以使用增量模型逐步增加功能,让用户有充裕的时间学习和适应新产品,并且逐步完善新功能。

 

4、健康码要求在很短时间内完成,一开始对系统功能的认识还是不太全面的,你打算采用哪种开发模型?

极限编程。其广泛应用于需求模糊且经常改变的场合,项目无法承受大规模的重构,速度是着重考虑的要素。

 

5、你们接手了一个“网页 数据库”类型的项目,这类项目已经做过多个,时间期限比较宽松,计划采用哪种开发模型?

 

瀑布模型。因为有充裕的时间和充足的经验,可强迫开发人员采用规范的方法保质保量完成任务。

 

6、你们已经成功地为多个医院做了管理系统,现在需要为一家大医院做具有很多新的业务的管理系统,将采用哪种开发模型?

增量模型。

①医院业务管理系统的基础、核心功能大同小异,在开发人员已成功开发多个医院业务管理系统的情况下,利用增量模型,开发人员可以通过以往的开发项目,在此基础上快速的开发新功能并调试,节省大量的人力物力和时间。

②同时,由于医院业务管理系统是医院正常运作必不可少的,是否能尽快能投入使用也是非常重要的参考。利用增量模型来开发,开发人员能分批地逐步地向用户交付拥有核心功能且递进满足部分需求的可运行的产品,确保用户在第一个构件交付起便能立即投入使用,保障医院最基本的运作,直到最后一次得到满足全部需求的完整产品。

③逐步增加的新功能可以使用户有比较充裕的时间学习和适应新产品,风险性低,开发顺序灵活。