首页 > 其他分享 >软件工程快速入门

软件工程快速入门

时间:2023-05-19 10:45:36浏览次数:45  
标签:入门 测试 模型 软件工程 文档 阶段 SDLC 软件 快速

什么是SDLC?

image

软件开发生命周期(SDLCSoftware Development Lifecycle)是构建软件的系统过程,可确保构建软件的质量和正确性。 SDLC流程旨在生产满足客户期望的高质量软件。软件开发应在预定义的时间范围和成本内完成。

SDLC包含详细的计划,解释如何规划,构建和维护特定的软件。 SDLC生命周期的每个阶段都有自己的流程和可交付成果,可以进入下一阶段。

为什么选择SDLC?

这里是SDLC对于开发软件系统非常重要的主要原因。

  • 它为项目规划,调度和估算提供了基础
  • 为一组标准活动和可交付成果提供框架
  • 它是项目跟踪和控制的机制
  • 提高项目规划对开发过程中所有相关利益相关者的可见性
  • 增加并提高开发速度
  • 改善客户关系
  • 帮助您降低项目风险和项目管理计划开销

SDLC阶段

整个SDLC流程分为以下几个阶段:

image

  • 阶段1:需求收集和分析
  • 第2阶段:可行性研究:
  • 第3阶段:设计:
  • 阶段4:编码:
  • 第5阶段:测试:
  • 阶段6:安装/部署:
  • 阶段7:维护:

阶段1:需求收集和分析:

该要求是SDLC流程的第一阶段。它由高级团队成员根据业内所有利益相关者和领域专家的意见进行。在此阶段还要规划质量保证要求并识别所涉及的风险。

此阶段更清晰地描述了整个项目的范围以及触发项目的预期问题,机会和指令。

要求收集阶段需要团队获得详细和精确的要求。这有助于公司完成必要的时间表,以完成该系统的工作。

第2阶段:可行性研究:

完成需求分析阶段后,下一步是定义和记录软件需求。此过程在“软件需求规范”文档的帮助下进行,该文档也称为“SRS”文档。它包括在项目生命周期中应设计和开发的所有内容。

主要有五种可行性检查:

  • 经济:我们能否在预算范围内完成项目?
  • 法律:我们能否将此项目作为网络法和其他监管框架/合规处理。
  • 运营可行性:我们能否创建客户期望的运营?
  • 技术:需要检查当前的计算机系统是否可以支持该软件
  • 时间表:确定项目是否可以在给定的时间表内完成。

第3阶段:设计:

在第三阶段,系统和软件设计文档按照需求规范文档准备。这有助于定义整个系统架构。

该设计阶段作为模型下一阶段的输入。

在此阶段开发了两种设计文档:

高级设计(HLD)

  • 每个模块的简要描述和名称
  • 关于每个模块的功能的概述
  • 模块之间的接口关系和依赖关系
  • 识别数据库表及其关键元素
  • 完整的架构图以及技术细节

详细设计(LLD)

  • 模块的功能逻辑
  • 数据库表,包括类型和大小
  • 界面的完整细节
  • 解决所有类型的依赖性问题
  • 错误消息列表
  • 为每个模块完成输入和输出

阶段4:编码:

一旦系统设计阶段结束,下一阶段就是编码。在此阶段,开发人员通过使用所选编程语言编写代码来开始构建整个系统。在编码阶段,任务分为单元或模块,并分配给各种开发人员。这是软件开发生命周期过程中最长的阶段。

在此阶段,开发人员需要遵循某些预定义的编码指南。他们还需要使用编译器,解释器,调试器等编程工具来生成和实现代码。

第5阶段:测试:

软件完成后,将其部署在测试环境中。测试团队开始测试整个系统的功能。这样做是为了验证整个应用程序是否符合客户要求。

在此阶段,QA和测试团队可能会发现一些与开发人员沟通的错误/缺陷。开发团队修复了该错误并将其发送回QA进行重新测试。此过程一直持续到软件无错误,稳定并根据该系统的业务需求工作。

阶段6:安装/部署:

一旦软件测试阶段结束并且系统中没有任何错误或错误,则开始最终部署过程。根据项目经理提供的反馈,最终软件将被发布并检查是否存在部署问题。

阶段7:维护:

部署系统后,客户开始使用已开发的系统,发生以下3项活动

  • 错误修复 - 由于某些未完全测试的情况而报告错误
  • 升级 - 将应用程序升级到较新版本的软件
  • 增强功能 - 在现有软件中添加一些新功能

SDLC阶段的主要重点是确保继续满足需求,并确保系统继续按照第一阶段提到的规范执行。

参考资料

流行的SDLC模型

这里是SDLC生命周期的一些最重要的阶段:

  • 瀑布模型

瀑布是一种广泛接受的SDLC模型。在这种方法中,软件开发的整个过程分为不同的阶段。在该SDLC模型中,一个阶段的结果充当下一阶段的输入。

该SDLC模型是文档密集型的,早期阶段记录了后续阶段需要执行的操作。

  • 增量方法

增量模型不是单独的模型。它本质上是一系列瀑布循环。这些要求在项目开始时分为几组。对于每个组,遵循SDLC模型来开发软件。重复SDLC过程,每个版本都添加更多功能,直到满足所有要求。在此方法中,每个循环都充当先前软件版本的维护阶段。对增量模型的修改允许开发周期重叠。之后的循环可以在前一循环完成之前开始。

  • V模型

在这种类型的SDLC模型测试和开发中,阶段是并行计划的。因此,侧面有验证阶段,另一侧有验证阶段。 V-Model通过编码阶段加入。

  • 敏捷模型

敏捷方法是一种在任何项目的SDLC过程中促进开发和测试的持续交互的实践。在Agile方法中,整个项目分为小型增量构建。所有这些构建都是在迭代中提供的,每次迭代持续一到三周。

  • 螺旋模型

螺旋模型是风险驱动的过程模型。此SDLC模型可帮助团队采用一个或多个流程模型的元素,如瀑布,增量,瀑布等。

该模型采用了原型模型和瀑布模型的最佳特征。螺旋方法是设计和开发活动中快速原型设计和并发性的结合。

  • 大爆炸模型

Big bang模型专注于软件开发和编码中的所有类型的资源,没有或很少计划。这些要求在它们到来时就被理解和实施。

此模型最适合与较小规模开发团队合作的小型项目。它对学术软件开发项目也很有用。这是一个理想的模型,其中要求是未知的或未给出最终发布日期。

小结

结论

  • SDLC是一个用于构建软件的系统过程,可确保所构建软件的质量和正确性
  • SDLC流程为标准的一系列活动和可交付成果提供了框架
  • 七个不同的SDLC阶段1)需求收集和分析2)可行性研究:3)设计4)编码5)测试:6)安装/部署和7)维护
    高级团队成员进行需求分析阶段
  • 可行性研究阶段包括在项目生命周期中应设计和开发的所有内容
  • 在设计阶段,系统和软件设计文档是根据需求规范文档准备的
  • 在编码阶段,开发人员通过使用所选编程语言编写代码来开始构建整个系统
  • 测试是下一阶段,用于验证整个应用程序是否按照客户要求运行。
  • 当软件测试阶段结束时,安装和部署面开始,并且系统中没有任何错误或错误
  • 维护面中涉及的错误修复,升级和参与操作
  • 瀑布,增量,敏捷,V型,螺旋,大爆炸是一些流行的SDLC模型
  • SDLC包含详细的计划,解释如何规划,构建和维护特定的软件

标签:入门,测试,模型,软件工程,文档,阶段,SDLC,软件,快速
From: https://www.cnblogs.com/testing-/p/17414210.html

相关文章

  • spring入门_黑马程序员资料转载
    Spring学习黑马程序员springday1今日目标掌握Spring相关概念完成IOC/DI的入门案例编写掌握IOC的相关配置与使用掌握DI的相关配置与使用1,课程介绍对于一门新技术,我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那对于Spring来说:1.1为什么要学?从......
  • Oracle从入门到精通-合并查询、添加修改删除数据
    6Oracle表的管理6.5oracle表的管理-表查询(重点)6.5.5Oracle表复杂查询--合并查询·合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,unionall,intersect,minus1)union该操作符用于取得两个结果集的并集,当使用该操作符时,=selectename,sal,j......
  • Java程序设计复习提纲(上:入门语法)
    目录上:基本语法与编译运行数据类型和关键字常用语法数组与字符串异常处理中:面向对象和类下:图形界面基本语法与编译运行java没有指针没有全局变量Java源代码文件的后缀名是".java"。编译后会生成一个或多个字节码文件,后缀名为".class"。Java的编......
  • sum入门
    sum\(\sum\)sigma\(\sum\)是求和符号,发音是['sɪgmə],英文里叫sum。求和符号是对求和内容的简写,并不是运算。又一人类为了偷懒的产物\[\sum_{B}^{A}C\]A:求和上限B:求和下限or所求和的数的特征或性质C:求和内容常见的例子\(\sum_{i=1}^{n}a_i\),表示从\(i=1\)......
  • SSH入门
    ssh根据y总的Linux基础课和讲义整理,便于复习ssh登录基本用法远程登录服务器:sshuser@hostnameuser:用户名hostname:IP地址或域名第一次登录时会提示:Theauthenticityofhost'123.57.47.211(123.57.47.211)'can'tbeestablished.ECDSAkeyfingerprintisSH......
  • 软件测试03:软件工程和软件生命周期(未完全)
    软件测试03:软件工程和软件生命周期软件危机软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件工程基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科......
  • 使用ONE.Abp快速开发微服务,再也不用加班了
    项目背景公司采用项目制工作方式,因此在不同项目上可能存在多个团队开发独立的代码库,但通用的基础设施却是相同的,这可能导致每个项目都需要编写相同的代码,并重复造轮子。更严重的是,每个项目都有自己的用户体系,导致用户在使用不同的服务时需要重新登录,这不仅会破坏用户的体验,也不利......
  • 2023.5.18——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 三分钟挖掘快速软件开发框架提高办公效率的秘诀
    在科技日新月异的当今社会,学会利用快速软件开发框架,可以给企业带来更大的便利和市场价值。因为它拥有可视化设计、灵活简便、易操作、易上手等优势特点,在助推企业实现数字化转型的过程中有着举足轻重的作用。那么,快速软件开发框架是如何帮助企业提质增效的?又拥有哪些特点?今天,一文......
  • 开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门
    ► 相关链接:① MobileIMSDK-Uniapp端的详细介绍② MobileIMSDK-Uniapp端的开发手册new(* 精编PDF版)一、理论知识准备您需要对Uniapp和Vue开发有所了解:1)Uniapp官方入门教程2)可能是最好的uniapp入门教程3)Uniapp官方Vue快速入门教程您需要对WebSocket技术有所了......