📝 软件工程教程
90篇技术文档📅  最后修改于: 2021-01-07 06:18:38        🧑  作者: Mango
软件工程是与使用明确的科学原理,方法和程序开发软件产品相关的工程分支。软件工程的结果是一种高效且可靠的软件产品。软件项目管理比软件工程过程具有更广泛的范围,因为它涉及通信,交付前后的支持等。本教程应向您提供对软件产品,软件设计和开发过程,软件项目管理和设计复杂性等的基本理解。在教程的最后,您应具备对软件工程概念的充分理解。本教程是为追求软件开发领域的读者,软件测试有志者和所有热心读者而设计的。先决...
📅  最后修改于: 2021-01-07 06:19:28        🧑  作者: Mango
首先让我们了解软件工程的含义。该术语由软件和工程两个词组成。软件不仅仅是一个程序代码。程序是可执行代码,可用于某些计算目的。软件被视为可执行程序代码,相关库和文档的集合。根据特定要求制作的软件称为软件产品。另一方面,工程就是使用明确的科学原理和方法开发产品。软件工程是与使用明确的科学原理,方法和程序开发软件产品相关的工程分支。软件工程的结果是一种高效且可靠的软件产品。定义IEEE将软件工程定义为:...
📅  最后修改于: 2021-01-07 06:20:20        🧑  作者: Mango
软件开发生命周期,简称SDLC,是软件工程中定义明确的结构化阶段序列,用于开发预期的软件产品。SDLC活动SDLC提供了一系列步骤,可以有效地设计和开发软件产品。 SDLC框架包括以下步骤:通讯这是用户启动对所需软件产品的请求的第一步。他联系服务提供商并尝试协商条款。他以书面形式向服务提供组织提交了请求。需求收集此后,软件开发团队将继续进行该项目。该团队与问题领域的各个利益相关者进行了讨论,并试图...
📅  最后修改于: 2021-01-07 06:21:52        🧑  作者: Mango
从事软件开发的IT公司的工作模式可以分为两部分:软件创作软件项目管理项目是定义明确的任务,是为了实现目标而进行的若干操作的集合(例如,软件开发和交付)。一个项目可以表征为:每个项目都有一个独特而独特的目标。项目不是日常活动或日常操作。项目带有开始时间和结束时间。项目在达到其目标时结束,因此这是组织生命周期中的一个临时阶段。项目需要足够的时间,人力,财力,物力和知识储备资源。软件专案软件项目是在指定...
📅  最后修改于: 2021-01-07 06:22:57        🧑  作者: Mango
软件要求是对目标系统的特征和功能的描述。需求传达了用户对软件产品的期望。从客户的角度来看,需求可能是显而易见的或隐藏的,已知的或未知的,预期的或意外的。需求工程从客户端收集软件需求,对其进行分析和记录的过程称为需求工程。需求工程的目标是开发和维护复杂且描述性强的“系统需求规范”文档。需求工程流程这是一个四步过程,其中包括–可行性研究需求收集软件需求规范软件需求验证让我们简要地看一下过程-可行性研究...
📅  最后修改于: 2021-01-07 06:23:38        🧑  作者: Mango
软件设计是将用户需求转换为某种合适形式的过程,可帮助程序员进行软件编码和实现。为了评估用户需求,创建了SRS(软件需求规范)文档,而对于编码和实现,则需要在软件方面更具体,更详细的需求。该过程的输出可以直接用于以编程语言实现的过程。软件设计是SDLC(软件设计生命周期)的第一步,它将注意力从问题领域转移到解决方案领域。它试图指定如何满足SRS中提到的要求。软件设计水平软件设计产生三个级别的结果:建...
📅  最后修改于: 2021-01-07 06:24:51        🧑  作者: Mango
软件分析和设计包括所有活动,这些活动有助于将需求规范转换为实施。需求规范指定了软件的所有功能和非功能期望。这些需求规范以人类可读和可理解的文档形式出现,而计算机则与之无关。软件分析和设计是中间阶段,可帮助将人类可读的需求转换为实际代码。让我们看看软件设计师使用的一些分析和设计工具:数据流程图数据流程图是信息系统中数据流的图形表示。它能够描述输入数据流,输出数据流和存储的数据。 DFD没有提及有关数...
📅  最后修改于: 2021-01-07 06:25:31        🧑  作者: Mango
软件设计是一个将软件需求概念化为软件实现的过程。软件设计以用户需求为挑战,并试图找到最佳解决方案。在对软件进行概念化时,会制定一个计划,以找到实现预期解决方案的最佳设计。软件设计有多种变体。让我们简要地研究一下它们:结构化设计结构化设计是将问题概念化为组织良好的解决方案要素。它基本上与解决方案设计有关。结构化设计的好处是,它可以更好地了解如何解决问题。结构化设计还使设计师更轻松地更准确地专注于问题...
📅  最后修改于: 2021-01-07 06:26:27        🧑  作者: Mango
用户界面是用户与之交互以便使用该软件的前端应用程序视图。用户可以通过用户界面来操纵和控制软件以及硬件。如今,几乎在存在数字技术的每个地方都可以找到用户界面,包括计算机,移动电话,汽车,音乐播放器,飞机,轮船等。用户界面是软件的一部分,其设计方式旨在为用户提供对软件的了解。 UI提供了人机交互的基本平台。UI可以是图形的,基于文本的,基于音频视频的,具体取决于底层的硬件和软件组合。 UI可以是硬件或...
📅  最后修改于: 2021-01-07 06:27:14        🧑  作者: Mango
术语“复杂性”表示事件或事物的状态,它们具有多个相互关联的链接和高度复杂的结构。在软件编程中,随着软件设计的实现,元件的数量及其相互联系逐渐变得庞大,这一次变得难以理解。如果不使用复杂性指标和度量,则很难评估软件设计的复杂性。让我们看看三个重要的软件复杂性度量。霍尔斯特德的复杂性衡量1977年,莫里斯·霍华德·霍尔斯特德(Maurice Howard Halstead)先生引入了衡量软件复杂性的指...
📅  最后修改于: 2021-01-07 06:28:09        🧑  作者: Mango
在本章中,我们将研究编程方法,文档和软件实现中的挑战。结构化程序设计在编码过程中,代码行不断增加,因此,软件的大小增加了。逐渐地,记住程序的流程几乎变得不可能了。如果忘记了软件及其基础程序,文件,程序的构造方式,那么共享,调试和修改程序将变得非常困难。解决方案是结构化编程。它鼓励开发人员使用子例程和循环,而不是在代码中使用简单的跳转,从而使代码更清晰并提高效率。结构化编程还有助于程序员减少编码时间...
📅  最后修改于: 2021-01-07 06:29:04        🧑  作者: Mango
软件测试是根据从用户和系统规范收集的要求对软件进行评估。测试在软件开发生命周期的阶段级别或在程序代码的模块级别进行。软件测试包括验证和验证。软件验证验证是检查软件是否满足用户要求的过程。它在SDLC的末尾执行。如果软件符合软件的要求,则将对其进行验证。验证可确保正在开发的产品符合用户要求。验证回答了一个问题–“我们是否正在开发可从该软件中尝试所有用户需求的产品?”。验证强调用户需求。软件验证验证是...
📅  最后修改于: 2021-01-07 06:30:01        🧑  作者: Mango
如今,软件维护已被SDLC广泛接受。它代表软件产品交付后所做的所有修改和更新。原因有很多,为什么需要修改,下面简要介绍其中一些:市场状况-随时间变化的政策(例如税收和新引入的限制条件,如如何维持簿记)可能会引发对修改的需求。客户要求-随着时间的流逝,客户可能会要求软件提供新功能。主机修改-如果目标主机的任何硬件和/或平台(例如操作系统)发生更改,则需要进行软件更改以保持适应性。组织变更-如果客户端...
📅  最后修改于: 2021-01-07 06:30:39        🧑  作者: Mango
CASE代表Computer一个ided小号oftwareêngineering。这意味着借助各种自动化软件工具来开发和维护软件项目。案例工具CASE工具是一组软件应用程序,用于自动执行SDLC活动。软件项目经理,分析师和工程师使用CASE工具来开发软件系统。有许多CASE工具可用来简化软件开发生命周期的各个阶段,例如分析工具,设计工具,项目管理工具,数据库管理工具,文档编制工具等。使用CASE工...
📅  最后修改于: 2021-01-07 06:31:07        🧑  作者: Mango
这些选定的问题和答案是从软件工程考试的角度准备的,也将有助于快速修订以在软件工程考试中获得良好的成绩。这些问题已为计算机科学专业的毕业生(BCA,MCA,B.Tech,BE等)准备,以帮助他们理解和修订与软件工程相关的基础到高级概念。以下是所选问题及其答案的列表,它们将有助于快速修订以在软件工程考试中获得良好的成绩。软件工程概述解释软件危险的含义及其在软件工程方面的重要性。描述软件工程的重要性?在...