首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

简说软件开发(一):总览

近来时不时会思考一个问题:在从准备成为一名软件工程师到实际成为一名软件工程师的学习和工作的过程中,好像很难找到能够较好引导人构建软件开发实践所需的知识体系的书或教程。或许软件工程相关专业的一些专业课会针对软件工程化原理做一定的介绍,但这些课程所教授的内容过于概念化、学术化,离工程实践仍存在一定距离,不足以让人学成之后能够很好地实施企业软件开发的每个步骤。而网络平台上的教程更多的是针对某种语言或者某类工具的讲解,并不是系统性地针对整个开发过程进行介绍。这就造成了我们在学习和工作中出现只见树木不见森林的情况,总感觉千头万绪,在无数的框架、中间件以及新技术中的学习中昏头转向。

03

首款软件机器人发布背后,是软件开发升级由“术”走向“道”

作者 | 曾响铃 文 | 响铃说(xiangling0815) 越来越多的事实表明,提升国家竞争力、避免被“卡脖子”、推动数字经济快速发展,除了需要芯片等硬件层面的创新突破,软件能力也变得不可或缺。 近年来,国内大大小小的科技企业在软件创新能力的投入越来越多,国产操作系统、数据库、办公软件等基础软件成熟度与国际主流产品差距显著缩小,加速从“可用”向“好用”迈进,自主可控成效显著。 但是,对提升整体软件能力这件事而言,那些让软件开发更有效率、更具创新可能的推动性动作也开始出现,软件机器人就是其中之一,软件

01

软件开发的生命周期

同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。 软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。 软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。 4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。 5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。 6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

02

AI正以五种方式彻底颠覆软件测试手段?

AI技术正以五种方式改变软件测试工作测试人员应做好与AI机器人协作的准备,并将其作为能够在软件开发过程当中有效减轻日常工作量的完美助手。人工软件测试方法仍然具备重要价值,但人工智能(简称AI)亦在这一领域内稳步推进。凭借着广受好评的先进功能,人工智能可能将很快消除软件开发当中对手动测试的高度依赖。 人工智能正在改变软件测试以及人类与技术间的交互方式。人工智能将负责推进软件测试过程,而人们则专注于分析公众对于新应用的接受程度。除了帮助人类摆脱沉重的日常工作压力之外,人工智能也正在以下面五种方式彻底颠覆软件测试

05
领券