首页 理论教育 软件开发技术与管理

软件开发技术与管理

时间:2022-02-28 理论教育 版权反馈
【摘要】:一般认为,软件开发环境是方法与工具的结合以及配套软件的有机组合。软件工程管理是软件按工程化生产时的重要环节,它要求按照预先制定的计划、进度和预算执行,以实现预期的经济效益和社会效益。软件工程经济学是研究软件开发中对其成本的估算、成本效益分析的方法和技术。软件开发过程中所有概念的表达应是确定的、无歧义且规范的。

3.1.4 软件开发技术与管理

1.软件工程的目标

基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。

(1)软件开发技术

软件开发技术包括:软件开发方法学、工具和环境支持,而其主体内容是软件开发方法学。软件开发方法学是从不同的软件类型,按不同的观点和原则,对软件开发中应遵循策略、原则、步骤和必需产生的文档资料作出规定,从而使软件的开发能够进入规范化和工程化的环境,以克服早期的手工方式生产中的随意性和非规范性做法。

现代软件工程方法得以实施,其重要的保证是软件开发工具和环境的保证,使软件在开发效率、工程质量等多方面得到改善。一般认为,软件开发环境是方法与工具的结合以及配套软件的有机组合。

(2)软件工程管理

软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。

软件工程管理是软件按工程化生产时的重要环节,它要求按照预先制定的计划、进度和预算执行,以实现预期的经济效益和社会效益。工程管理将包括人员组织、进度安排、质量保证和成本核算等方面的内容。

软件工程经济学是研究软件开发中对其成本的估算、成本效益分析的方法和技术。它应用经济学的基本原理来研究软件工程开发中的经济效益问题。

2.软件工程的原则

为了达到上述的软件工程目标,在软件开发过程中,必须遵循软件工程的基本原则。这些原则适用于所有的软件项目。这些基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

①抽象。抽取事物最基本的特性和行为,忽略非本质细节。采用分层抽象,自顶向下,逐层细化的办法控制软件开发过程的复杂性。

②信息隐蔽。采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。

③模块化。模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。模块的大小要适中,模块过大会使模块内部的复杂性增加,不利于对模块的理解和修改,也不利于模块的调试和重用。模块太小会导致整个系统表示过于复杂,不利于控制系统的复杂性。

④局部化。要求在一个物理模块内集中逻辑上相互关联的计算资源,保证模块间具有松散的耦合关系,模块内部有较强的内聚性,这有助于控制解的复杂性。

⑤确定性。软件开发过程中所有概念的表达应是确定的、无歧义且规范的。这有助于人与人的交互不会产生误解和遗漏,以保证整个开发工作的协调一致。

⑥一致性。包括程序、数据和文档的整个软件系统的各模块应使用已知的概念、符号和术语,程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。

⑦ 完备性。软件系统不丢失任何重要成分,完全实现系统所需的功能。

⑧ 可验证性。开发大型软件系统需要对系统自顶向下,逐层分解。系统分解应遵循容易检查、测评、评审的原则,以确保系统的正确性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈