软件工程概念:
是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件工程学研究的目标:
软件开发成本低;
软件功能能够满足用户的需求;
软件性能较好;
软件的可靠性高;
软件易于使用、维护和移植;
能够按时完成开发任务,并及时交付使用;
采用先进的软件工程方法,使质量、成本和生产率三者之间的关系达到最优的平衡状态;
软件生存周期:
是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终的退役为止的整个过程。
一般包括:计划、分析、设计、实现、测试、集成、交付、维护等阶段;
ps:
实践中,软件开发并不总是按照计划、分析、设计、实现、测试、集成、交付、维护等顺序来执行。各个阶段是可以重叠交叉的。而且整个开发周期经常不是明显地划分这些阶段,而是分析,设计,实现,再分析,再设计,再实现等迭代执行;
软件生存周期的各个阶段任务:
计划阶段:
确定待开发系统的总体目标和范围;研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算;
分析阶段:
分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册;
设计阶段:
分为总体设计和详细设计;
目标是决定软件怎么做;
软件设计主要集中于:软件体系结构、数据结构、用户界面和算法等方面;
实现阶段:
将所设计的各个模块编写成计算机可接受的程序代码;
测试阶段:
设计测试用例,对软件进行测试,发现错误,进行纠正;
集成阶段:
将各个模块组合成一个完整的软件;
交付阶段:
维护阶段:
首先在软件的设计和实现阶段充分考虑软件的可维护性;
维护阶段需要测试是否正确地实现了所要求的的修改,并保证在产品的修改过程中,没有做其他无关的改动。