软件工程概览问答集 #2



问题:描述软件工程的重要性?在开发软件系统过程中应该采取哪些步骤。

答案

软件工程

软件工程是计算机科学的一个分支,它使用多种方法、思想和技术来获得高质量的软件和计算机程序。

  1. 最低成本

  2. 在规定时间内

  3. 持续生产

我们可以通过其属性的重要性来判断软件工程的实用性。两者以相同的方式使用。软件工程的基本目标是提供高质量的软件,可以交付。

  1. 在规定时间内,

  2. 在预算内 &

  3. 满足需求。

因此,我们可以说这是获取以下要点最佳方法或程序

  1. 提供软件系统的最佳输出。

  2. 使软件系统易于使用和开发。

  3. 提高生产率。

  4. 维护软件系统开发预算。

  5. 软件工程师的工作满意度。

为了满足以下几点,必须生成高质量的软件。

  1. 一致性

  2. 改进质量

  3. 最低成本

  4. 在规定时间内

  5. 可靠性 &

  6. 满足用户需求

开发软件系统时使用的步骤

为了实现一致性,软件开发过程被划分为一系列阶段。各种方法、工具和技术被应用于完成每个阶段。开发软件系统的过程分为两个部分,以确保该过程的一致性。为了完成软件开发过程,使用了多种方法、技术。以下步骤用于开发软件系统。

Steps used while developing a software system
  1. 问题陈述与系统研究 - 系统开发过程的第一步从问题陈述与系统研究开始。在此步骤中,我们从计算机和手动方面获取尽可能多的知识。借助这些知识,我们找出当前软件系统中需要更改以进行改进的错误。在此阶段提供了几个要点:

    1. 充分了解问题和错误。

    2. 改进能力

    3. 确定要实现的目标。

    4. 找出新软件中应该具备的功能。

    5. 找出更改后受影响的计划区域。

    如果我们研究问题,那么有必要考虑问题的其他解决方案及其成本,这些成本应在用户的预算范围内。为了进行此改进,需要大量的技能和关注。

  2. 可行性研究 - 基于第一步的结果,我们进入下一步,即可行性研究。在此步骤中,我们考虑当前系统和未来系统并进行比较。比较的领域包括熟练劳动力、估计时间段和其他重要事项。可行性研究有助于确定重要事项。

    • 该计划是否对我们有利。

    • 我们是否有能力获得所需的资源。

    • 再次思考。

    • 检查多种类型的可行性。

    1. 技术可行性 -

      • 我们拥有所需的科技吗?

      • 我们可以使用现有的工具开发新系统吗?

      • 未来系统能否提供所需的结果?

      新系统是否更适合用户,由专家进行检查。例如:如果软件实际需要使用 Oracle 后端的 Visual Basic 进行开发。但如果我们使用少于 48 个处理器和 14 位字长,则该软件在技术上将不健全。它与所使用的技术和工具有关,这些技术和工具是否满足系统的需求。

    2. 社会可行性 - 这是对用户行为的研究,即人们是否喜欢新软件。

    3. 经济可行性 - 此因素决定了新软件的好处和节省是否大于旧软件。

    4. 法律可行性 - 法律可行性确定新软件是否符合政府规定。根据可行性研究的结果,分析以实现以下目标

      • 制定不同的解决方案计划。

      • 检查其他解决方案计划及其优势并进行比较。

      • 找出最佳输出并将其年度化。

  3. 软件需求分析与规格说明 - 分析是对以下因素的研究,这些因素在此步骤中起着重要作用。

    • 系统执行多种活动。

    • 许多功能和子系统之间的连接。

    • 最后是系统边界之外的关系。

    需求分析 - 需求分析的主要目标是了解用户对该软件的期望,并收集有关该软件的数据和信息。

    • 工作能力

    • 性能

    • 易于使用

    • 易于维护

    在此过程中,使用了多种工具和方法。流程图、收集的数据、图表等都是此练习的一部分。在解决所有与之相关的问题和需求后,信息将整理到软件需求规格说明文档中。

    软件需求规格说明 - 此主题涵盖以下要点

    • 所有用户文档应以系统的方式排列,

    • 其界面的性质

    • 硬件需求

    • 协议基础

    • 客户和开发人员之间的道德和法律协调

    • 详细计划

    • 由客户分析和确认,它是否具有客户期望的所有质量。

    • 在软件工程师的帮助下开发解决方案。

  4. 软件设计与规格说明 - 在此步骤过程中,需求规格被转换为编程语言中使用的基础。我们有两种方法

    1. 传统方法 - 此方法也分为两部分:

      • 第一部分-

        1. 提取此软件的特定需求。

        2. 结构化分析转换为软件设计的形状。

        3. 许多功能的分析、数据流程图是结构化分析的一部分。

      • 第二部分- 在分析结构后进行架构设计。

        1. 需要哪些组件。

        2. 软件的总体基础。

        3. 每个设计提供的程序。

        4. 模块之间的接口。

        5. 系统的数据库和结果形式。

    2. 面向对象设计 - 在此设计中,在问题域中提出了多种对象,并确定了这些对象之间的关系。

  5. 编码和模块测试 - 编码阶段在软件设计之后进行。编码是一个过程,通过它我们可以将形状结构转换为编程语言。设计的每个部分都是一个程序模块。Hare 检查每个模块以确保模块是否符合需求。

  6. 集成和系统测试 - 在此阶段,根据架构设计,将所有经过测试的模块作为整体系统联合起来。为了获得有关模块互连是否正确的信息,开发人员采取了此步骤。测试的效果有助于获得

    1. 生产高质量的软件

    2. 用户更满意

    3. 降低维护成本

    4. 准确性

    5. 结果的确定性

    此系统仅测试以获取有关它是否符合 SRS 的信息。最后,此测试在客户在场的情况下进行。

  7. 系统实施 - 系统实施意味着在客户现场提供信息。我们有三种实施类型。

    1. 直接转换

    2. 分阶段转换

    3. 并行转换

  8. 系统维护 - 当客户使用我们的软件并遇到一些问题时,需要执行此步骤。这些问题可能与网站、安装和操作有关。维护分为三个部分。

    • 纠正性维护 - 在软件开发过程中,未发现或发现纠正性故障。

    • 完善性维护 - 在此步骤下,根据客户的需求增加此软件执行的功能。

    • 适应性维护 - 将软件转换为新的操作系统、环境或新计算机称为适应性维护。

广告