(3) 稳健性:具备自检测机制,即使在故障情况下也不会导致严重后果;
(4) 性能:能使资源得到充分有效的利用;
(5) 工具结构柔性:工具结构是柔软的、可修改的和可扩充的。
5. 软件生命周期划分成哪些阶段
软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析
2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3. 维护时期:主要任务是使软件持久地满足用户的需要。
6. 什么是软件过程?它与软件工程方法学有何关系?
软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤
软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称型
7. 试论述可行性研究的任务
1.进一步分析和澄清问题;
2.导出系统的逻辑模型;
3.从逻辑模型出发,提出若干种系统实现方案
4.研究每种实现方案的可行性:
8. .试论述需求分析的准则
1、必须并描述的信息域,根据这条准则应该建立数据模型。
2、必须定义软件应完成的功能,这条准则要求建立功能模型。
3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
9. 试论述需求分析的任务
1、确定对系统的综合要求;
2、分析系统的数据要求;
3、导出系统的逻辑模型;
4、修正系统开发计划。
10. 试论述应该从哪些方面研究目标系统的可行性?
技术上的可行性——使用现有的技术能实现这个系统吗?
经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)操作可行性——系统的操作方式在这个用户组织行得通吗?
社会、政策允许的可行性
11. 在软件开发过程中必须遵循下列软件工程原则。
抽象 : 采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由抽象到具体、由复杂到简单,逐步得到问题的解。
•信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实现的细节隐藏在模块部,使用者只能通过模块接口访问模块中封装的数据。
•模块化 : 按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息隐蔽和抽象,有助于表示复杂的系统。
•局部化 : 按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块部高聚。这有助于控制解的复杂性。
•确定性 : 软件开发过程中所有概念的表达应是确定的、无歧义性的、规的。这有助于人们之间的沟通,保证整个开发工作协调一致。
•一致性 : 强调软件开发过程的标准化、统一化。包括文档格式的一致,工作流程的一致,、外部接口的一致,系统规格说明与系统行为的一致等。
•完备性 : 软件系统不丢失任何重要成分,可以完全实现系统所要求功能。
•可验证性 : 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循专业WORD.