个人对于软件的初步了解,软件的本质特性有复杂性,不可见性,易变性,服从性,非连续性这几点性质。软件的规模越来越大致使复杂性造成了软件危机的出现,软件是逻辑产品,非物理产品使其难以理解、难以测试、难以维护、难以管理。软件是逻辑产品没有磨损,外部需求和环境的变化经常发生,所以它的维护需求不断地出现,正确修改软件也非常的困难。软件不能独立存在,要运行在软件上面,服从系统中其他组成部分的要求,服从用户的要求,服从行业系统的要求。同时软件也是离散系统,有时输入上很小的变化,也会引起输出上极大的变化。对于软件工程来说,用分阶段的生命周期计划进行严格的管理,坚持进行阶段评审,实行现代程序设计技术,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性都是他的基本原理。软件工程是指导计算机软件开发与维护的工程学科,也可以理解为把系统的,有序的,可量化的方法应用到软件的开发、运营和维护上的过程。在以前程序就是软件,软件也就是程序。但现在却不一样。现在的程序是数据结构与算法的加和,也就是Program = data structure + algorithm .与此同时软件就是程序、数据和文档的加和。在上课时老师还提问过程序有没有道德,其实程序是没有道德的,而作为写程序的人才是有道德的
原文:https://www.cnblogs.com/sunjiali123456/p/12433858.html