读《软件工程》有感
软件工程学,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。下面是软件工程的现状:
在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,提高人们的工作效率,同时提升了生活质量。
软件工程师是对应用软件创造软件的人们的统称,软件工程师按照所处的领域不同可以分为系统分析员,软件设计师,系统架构师,程序员,测试员等等。人们也常常用程序员来泛指各种软件工程师。
软件的开发到底是一门科学还是一门工程,这是一个被争论了很久的问题。实际上,软件开发兼有两者的特点。但是这并不意味着它们可以被互相混淆。
很多人认为软件工程基于计算机科学和信息科学就如传统意义上的工程学之于物理和化学一样。
在美国,大约40%的软件工程师具有计算机科学的学位。在世界其他地方,这个比例也差不多。他们并不一定会每天使用计算机科学方面的知识,但是他们每天都会使用软件工程方面的知识。
软件工程是在遇到软件危机的时候提出来的,其定义是将系统化的、严格约束的、可量化的方法应用到软件的开发、运行和维护,即将工程化应用软件。软件工程研究目标是提高软件的质量和开发效率。目前比较受关注的5种相对并列的软件质量属性分别为:正确性、健壮性、安全性、高效性、易维护性。近年来,随着计算机网络逐步成为主要的软件运行环境,人们在质量的基础上更多的关注可信性。在开发效率这方面,开发人员的素质对项目的成败很重要,若要对实际的开发过程进行量化的话,则比较困难。不同于传统的一些工程项目,软件工程中的部署环节所占的比重较小。在拿到一个软件项目之后,需要对该项目进行总体分析后,选择合适的开发过程模型、开发方法、质量度量方法和具体的开发环境。主要的开发模型包括:瀑布模型、迭代模型、螺旋模型以及第四代模型等。开发方法有:结构化方法、面向数据结构方法、面向对象方法和构件化方法。
…… …… 余下全文