首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

03
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数字化 IT 从业者知识体系 | 软件开发方法 —— 瀑布篇

    软件危机诞生了软件工程,同时也产生了软件开发方法。第一个系统化的软件开发方法是瀑布软件开发。瀑布模型(Waterfall Model)是 Royce 在 1970 年提出的,他把大型软件开发分为:分析与编程,像工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用最多的开发模型。瀑布模型出道即巅峰,发展至今,仍然是主要的软件开发方法之一,深刻影响着软件开发协作方式。瀑布模型的出现让软件开发方法实现了从无序到有序的突破,极大缓解了当时的软件开发混乱程度和高失败率,成为当时软件工程的福音。

    01

    数字化 IT 从业者知识体系 | 软件开发方法 —— 瀑布篇

    软件危机诞生了软件工程,同时也产生了软件开发方法。第一个系统化的软件开发方法是瀑布软件开发。瀑布模型(Waterfall Model)是 Royce 在 1970 年提出的,他把大型软件开发分为:分析与编程,像工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。该模型非常符合软件工程学的分层设计思路,所以成为软件开发企业使用最多的开发模型。瀑布模型出道即巅峰,发展至今,仍然是主要的软件开发方法之一,深刻影响着软件开发协作方式。瀑布模型的出现让软件开发方法实现了从无序到有序的突破,极大缓解了当时的软件开发混乱程度和高失败率,成为当时软件工程的福音。

    02

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

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

    01

    【软件工程导论】从已考完期末的角度记录软导常考内容

    二、快速原型模型 1.特点:快速构建可运行的软件模型,以便理解和澄清问题,进一步细化需求,在新获取需求基础上进行系统开发。 2.优点: (1)有助于满足用户的真实需求; (2)原型系统已经通过与用户的交互而得到验证,据此产生的规格说明文档能够正确地描述用户需求; (3)软件产品的开发基本上是按线性顺序进行; (4)因为规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现规格说明文档的错误而进行较大的返工; (5)开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性; (6) 快速原型的突出特点是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。 3.缺点:快速建立的模型加上连续的修改可能造成产品质量低下。 4.适用场合:用户需求模糊不明的情况下。

    04

    机器学习工业复现的 12 个要素!

    过去二十年来,我们对软件开发的理解有了大幅提升。其中一大部分原因是 DevOps 概念的出现及其在软件开发行业的广泛应用。 领先的软件公司都遵循着同样的模式:首先是在软件开发过程中快速迭代,然后进行持续集成、持续交付、持续部署。每个特性都要经过测试,看其提供价值的能力如何,而且软件始终要处于就绪的状态,并且通过自动化方法进行部署。 机器学习这个领域虽不同于传统的软件开发,但我们也能从软件开发行业汲取很多实用的经验教训。过去几年里,我们一直在开发生产型机器学习项目。我们的目标并不只是概念验证,而是与软件开发一样的可复现能力(reproducibility)。因此,我们构建了一套流程协调器、强大的自动化能力并建立了一套用于实现该目标的工作流程。 为什么不直接使用 Jupyter Notebook?从头开始构建一组包含所有处理步骤的笔记需要多长时间?为团队纳入新成员的难易程度如何?你现在可以复现两个月前的结果吗?能以多快的速度复现?你能将今天的结果和历史结果进行对比吗?你能在训练过程中关注到数据的出处吗?如果你的模型过时了又会发生什么? 我们遇到过所有这些问题。现在,我们将这些经验进行了归纳总结,得到了成功构建生产型机器学习的 12 个要素(类似于软件开发中的十二要素应用/12 factor app)。

    01
    领券