首页 > 其他分享 >《软件工程:一种实践方法》读书笔记一

《软件工程:一种实践方法》读书笔记一

时间:2023-11-10 23:56:39浏览次数:43  
标签:泥潭 软件开发 读书笔记 模型 实践 软件工程 构架 过程

它把作为一本书按惯例该讲的历史部分形式一下就一段话带过,但是其中一个来自《人月传说》的形象的比喻深深吸引了我的眼球:“……正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。……程序设计工作正像这样一个泥潭,……一批批程序员被迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”,这让我深刻体会到开发软件的困难和艰辛,让我提前有了心理准备接受接下来的困境,以及做好准备要全力学才能突破出来。

紧接着开门直接讲这本书的框架逻辑清晰。然后就开始了软件过程,我们小组的计划本身就有这一个:了解软件工程开发的流程,并对每个环节进行一些可能的了解,学习。刚好这本书开篇就讲了工程过程的几种模型,每个模型都有详细的阐述而且还有配图加以可视化的说明。方便了我了解每种模型的优缺点或者说是特点,以应对下次例会时我们就要开始计划开发流程,大致的分配任务。

      瀑布模型:这是一种早期的软件过程,但是也是任然被广泛使用的模型,软件开发的各项活动像瀑布流水一样按照固定的逻辑顺序联接起来,每一步都是下一步的前提。

当然很容易看出这样的时间效率较低,而且没有反馈过程导致了产品必须一次成型,所以就有了修改过后的瀑布模型:增量模型,演化模型,螺旋模型。

现代的软件过程:统一软件开发过程(RUP)。他把软件开发分成了四个循环的部分:初试阶段,细化阶段,构造接单,移交阶段。每一步的目的性明确,分别是分析项目进行中的风险;详细说明产品的大多数用况,并设计出系统的构架;高效,高质量,低成本地以制造实现为中心产生一个可用的软件产品;准备将产品交给用户,需要试运行、培训、产品包装、产品展示、产品发布。四个阶段完成之后就开始心得一轮开发周期,新的循环就又开始了。

整个开发过程要以用户的实际使用情况,产品的工作情况,用户的期望变化为驱动力。由于一个软件工程是一个庞大的系统,即使用户的需求有些许的变化我们到最后是没有办法重新开始梳理我们的代码工程,所以我们的整个代码的框架就不会改变,代码的构架就自然而然的成为了中心。这也就启示了我们,在构造阶段时要多方沟通,商量出一个便于变化,易于成长发展,有远见的好的构架,这不仅省事而且有利于代码的维护,多人的交流,日后的功能拓展。就像拼接积木那样如果不留下几个接口,就装不上新的部分,想要更新就得拆开内部结构从头开始搭建,那么以前的工作就仅仅只有提供经验的作用。

标签:泥潭,软件开发,读书笔记,模型,实践,软件工程,构架,过程
From: https://www.cnblogs.com/wrf1/p/17825370.html

相关文章

  • 国产瀚高数据库简单实践 及 authentication method 13 not supported 错误解决方法
    近几年IT界软硬件“国产化”搞得很密集,给很多公司带来了商机。但是有些公司拿国外的代码改改换个皮肤,就是“自主知识产权”的国产软件,光明正大卖钱,这个有点...,还经常有丑闻露出,譬如某星浏览器、C某-IDE...话不多说,最近有个项目需要国产化改造,业主方推荐了国产数据库---瀚高数据库......
  • GPT最佳实践:五分钟打造你自己的GPT
    前几天OpenAI的MyGPTs栏目还是灰色的,就在今天已经开放使用了。有幸第一时间体验了一把生成自己的GPT,效果着实惊艳!!!我打造的GPT模型我会放到文章末尾,大家感兴趣也可以自己体验一下。打造自己的GPT模型点击CreateaGPT,可以进入到下面这个界面,左侧是一个GPTBuilder的对话框,右边......
  • 14.5-3 - 14.5-7 流量治理实践
    一、超时策略(针对VirtualService)如果访问某个后端的服务非常卡顿,会严重影响到用户体验,所以可以在前端设置一个超时时间,如果超过该时间则直接返回一个错误码(504)而不是一直等待。在前面章节的学习中,我们了解到,天气预报应用中frontend会调用forecast,而forecast会调用recommendation......
  • 梦断代码 读书笔记 02
    工程师和艺术家软件开发者是工程师还是艺术家。这个问题,总结了软件开发过程中无数细节问题,这些问题统统没有答案。软件开发领域的圣战比宗教中的还要多。从项目管理到软件设计,只有模糊的建议,以经验性方法为主导,估算工期的方法叫“拍”:一拍脑袋有了,一拍胸口干了,一拍大腿坏了,一拍......
  • 智安网络|数据库入门秘籍:通俗易懂,轻松掌握与实践
    在现代信息化时代,数据库已成为我们日常生活和工作中不可或缺的一部分。然而,对于非专业人士来说,数据库这个概念可能很抽象,难以理解。一、什么是数据库?简单来说,数据库是一个存储和管理数据的系统。它可以将大量的数据进行组织、存储和检索,以便我们能够方便地访问和使用这些数据。类比......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<signal.h>#include<setjmp.h> //foralongjumpjmp_bufenv;//forsavinglonjmpenviromentintcount=0;voidhandler(intsig,......
  • 平安人寿基于 Apache Doris 统一 OLAP 技术栈实践
    导读:平安人寿作为保险行业领军企业,坚持技术创新,以数据业务双轮驱动的理念和更加开放的思路来应对不断增长的数据分析和应用需求;以深挖数据价值、保障业务用数效率为目标持续升级大数据产品体系。自2022年起平安人寿开始引入开源实时数据仓库ApacheDoris并基于此统一OLAP技术......
  • 深入探讨Vue.js核心技术及uni-app跨平台开发实践
    Vue.js是一款流行的JavaScript框架,用于构建交互性强、响应式的用户界面。而uni-app是一个基于Vue.js的跨平台应用开发框架,允许开发者使用Vue.js的语法编写一次代码,然后将其部署到多个平台,如iOS、Android、Web等。本文将深入探讨Vue.js的核心技术,并介绍如何利用uni-app进行跨平台实......
  • 深入学习JavaScript ES8函数式编程:特性与实践指南
    ......
  • 直播实时数仓基于DataLeap开放平台在发布管控场景的业务实践
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群背景业务背景随着字节业务的高速增长,业务场景越来越丰富,业务基于数据做的决策也越来越多,对数据的时效性要求也越来越高。原有离线批处理的数据仓库已经无法满足诉求,因此需要打造一套同时具......