软件工程课程提问的答案

1、软件开发为什么不等同于编写程序?

        在软件开发过程中, 编写程序只是开发软件所应完成工作的一部分, 具体的软件开发工作包括以下几个方面:

 (1) 问题的定义及规划: 开发方调研用户需求及用户环境, 开发方和需求方论证项目的技术、经济、市场等可行性并制定项目初步计划。

 (2) 需求分析: 开发方确定系统的运行环境、建立逻辑模型、确定系统的功能和性能要求。

(3) 软件设计:

 概要设计: 建立系统总体结构、划分功能模块、定义各个功能模块的接口, 制定测试计划。

 详细设计: 设计各个模块的具体实现算法, 确定各个模块间的详细接口, 制定测试方案。

(4) 程序编码: 编写程序源代码、进行模块测试和调试, 编写用户手册。

(5) 软件测试: 单元测试、集成测试、系统测试、编写测试报告。

(6) 实现和运转: 对修改进行配置管理, 记录修改记录和故障报表, 按照用户和软件设计的共同意见进行软件维护。

2、会不会出现软件危机呢?如果会出现,其原因是什么?

          会出现软件危机。出现软件危机的原因是:

(1)用户需求不明确。

(2)缺乏正确的理论指导。

(3)软件开发规模越来越大。

(4)软件开发复杂度越来越高。

(5)软件是计算机系统的逻辑部件而不是物理部件。

(6)在软件的开发和维护关系问题上存在错误的观念。

3、面向过程和面向对象方法之间有什么区别?

(1)处理问题时的出发点不同。结构化方法强调过程抽象化和模块化,以过程为中心;面向对象方法强调把问题域直接映射到对象及对象之间的接口上, 用符合人们通常的思维方式来处理客观世界的问题。

(2)处理问题的基本单位和层次逻辑关系不同。结构化方法把客观世界的问题抽象成计算机可以处理的过程,处理问题的基本单位是能够表达过程的功能模块, 用模块的层次结构概括模块或模块间的关系和功能;面向对象方法是用计算机逻辑来模拟客观世界中的物理存在, 以对象的集合类作为处理问题的基本单位,尽可能使计算机世界向客观世界靠拢,它用类的层次结构来体现类之间的继承和发展。

(3)数据处理方式与控制程序方式不同。结构化方法是直接通过数据流来驱动, 各个模块程序之间存在着控制与被控制的关系;面向对象方法是通过用例(业务)来驱动,是以人为本的方法, 站在客户的角度去考虑问题。

4、软件项目设计的概要设计是如何操作完成的?

(1)设计系统方案。为了实现系统的要求,系统分析员应该提出并分析各种可能的方案。在分析阶段提供的数据流图等模型是总体设计的出发点。数据流图中的某些处理可以逻辑地归并在一个边界内作为一组,另一些处理可以放在其他边界内作为一组。这些边界代表着某种实现策略,方案仅是边界的取舍。

(2)选取一组合理的方案。根据不同成本指标,选择一组合理的方案,准备好系统流程图、系统物理元素清单、成本效益分析和实现系统的进度计划等,进一步征求用户的意见。

(3)推荐最佳方案。分析员综合分析各种方案的优缺点,推荐最佳方案,制定详细的进度计划。

(4)功能分解。软件结构设计,首先将复杂的功能进一步分解成简单的功能,遵循模块划分独立性的原则,使已划分的模块功能对大多数程序员而言都是容易理解的。

(5)软件结构设计。功能分解后,使用结构图、层次图描述模块所组成的层次关系。当数据流图细化到适当的层次后,可采用SD方法直接映射出结构图。

(6)数据库设计、文件结构的设计。系统分析员根据系统的数据要求,确定系统的数据结构、文件结构。对需要使用数据库的应用领域,分析员还要进一步根据系统数据要求进行数据库的模式设计,确定数据库物理数据的结构约束;进行数据库子模式设计,设计用户使用数据的视图;设计数据库完整性和安全性;优化数据的存取方式。

(7)制定测试计划。为保证软件的质量,在软件设计阶段就要考虑软件的可测试性问题。这个阶段的测试仅从输入/输出功能做黑盒测试,详细设计时才能做详细的各类测试用例与计划。

(8)编写概要设计文档。

5、在运行过程中,为什么要进行软件维护?

(1)改正在运行中新发现的软件错误和设计上的缺陷。这些错误和缺陷是在开发后期测试阶段未能发现的。

(3)要求已运行的软件能适应特定的硬件、软件、外部设备、通信设备的工作环境或是要求适应已变动的数据或文件。

(2)改进设计,以便增强软件的功能,并提高软件的性能。

(4)为使投入运行的软件与其他相关的程序有良好的接口以利于协同工作。(5)为使运行的软件的应用范围得到必要的扩充。

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值