2.1软件开发方法
软件开发方法是以软件开发方法为研究对象的学科。从不同角度可以把软件方法学做如下分类:
从开发风范上看,分为自顶向下、自底向上开发方法;
从性质上看,分为形式化、非形式化方法;
从适用范围上看,分为整体性、局部性方法。
1)净室方法
净室软件工程方法是一种形式化方法,它可以生产高质量的软件。
净室方法是一种严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性的认证的软件过程模型,其目标和结果有非常低的出错率,这是使用非形式化方法难于或不可能达到的。
主要使用三种盒类型:黑盒、状态盒、清晰盒。
净室软件工程并不强调单元测试或集成测试,而是通过定义一组使用场景、确定对每个场景的使用概率及定义符合概率的随机测试来进行软件测试(这种活动称为正确性验证)。
2)结构化方法
结构化方法属于自顶向下的开发方法,强调开发方法的结构合理性及所开发软件的结构合理性。包括:
结构化分析(Structured Analysis,SA)
结构化设计(Structured Design,SD)
结构化程序设计(Structured Programming,SP)等方法。
3)面向对象方法
主要包括:
Coad/Yourdon方法
OMT(Object Model Technology,对象建模技术)方法统一成为UML(United Model Language,统一建模语言)
OOSE(Object-Oriented Software Engineering,面向对象的软件工程)方法
Booch方法
4)原型法
原型法适合于用户需求不明确的场合。它是先根据已知的和分析的需求,建立一个原始模型,这是一个可以修改的模型。在软件开发的各个阶段都把有关信息相互反馈,直至模型的修改,使模型渐趋完善。在这个过程中,用户的参与和决策加强了,缩短了开发周期,降低了开发风险,最终的结果是更适合用户的要求。原型法成败的关键及效率的高低,在于模型的建立及建模的速度。
5)逆向工程
软件再工程(Reengineering)是对现有软件系统的重新开发过程,包括:逆向工程(Reverse Engineering,反向工程)、新需求的考虑(软件重构)和正向工程三个步骤。
各省软考办 | ||||||||||