软件的生命周期:
1.问题定义:确定好要解决的问题是什么。
2.可行性研究:确定该问题是否在一个可以解决的方案
4.需求分析:深入具体的了解用户的需求
5.概要设计:设计出实现目标系统的几总可能方案,设计程序的结构
6.详细设计:详细的设计每个模块,确定实现模块功能所需的算法和数据结构
7.编码和单元测试:进行
8.综合测试:
软件维护:针对客户使用出现的问题进行维护
软件的概念
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
程序:是按事先设计的功能和性能要求执行的指令序列
数据:是程序能使能正常操作的数据结构
文档:是与程序开发,维护使用有关的图文材料
软件的十大特性
形态特性:软件是无形的、不可见的逻辑实体。度量常规产品的几何尺寸、物理性质和化学成分对它却是毫无意义的。
智能特性:软件是复杂的智力参品,它的开发凝聚了人们的大量脑力劳动,它本生也体现了知识实践经验和人类的智慧,具有一定的智能。它可以帮助我们解决复杂的计算。分析、判断和决策问题
开发特性:尽管已经有了依稀工具(也是软件)来辅助软件开发工作,但到目前为止尚未实现自动化。软件开发中仍然包含了相当份量的个体劳动,使得这一大规模知识型工作充满了个人行为和个人因素。
质量特性:软件是由人编写的,由于其开发特性存在,所以不存在完全没有缺陷的软件
生产特性:与硬件或传统的制造业产品的生产完全不同,软件一旦设计开发出来,如果需要提供多个用户,它的复制十分简单,其成本业极为有限。
管理特性:由于上面的特性存在,所以软件过程中的管理显得更为重要,相比传统行业,也更为独特
环境特性:软件的开发和运行都离不开相关的计算机系统,包括支持它的开发和运行的相关硬件和软件。软件对于计算机系统的环境由着不可摆脱的依赖性。
维护特性:软件投入使用以后需要进行维护,但这种维护与传统产业的维护概念有着很大差别,维护体现在升级、优化、功能更新等方面。甚至可以全盘重构。
废弃特性:与硬件不同,软件并不是由于被“用坏”而被废弃的
应用特性:软件的应用极为广泛,如今它已渗入国民经济和国防的各个领域,现已成为信息产业、先进制造业和现代服务业的核心,占据了无可取代的地位