《构建之法》阅读笔记

news/2025/1/30 21:17:53/文章来源:https://www.cnblogs.com/lala-la/p/18695390

很多程序员都知道一句名言:“程序=数据结构+算法”,其实还有很重要的后半句,即:“软件=程序+软件工程”。

如果把开发程序作为安身立命的手段,那么就需要知道,仅程序本身不能成为一个具有商业价值的产品,需要形成一个完整的软件产品。除了能够正确运行并得到预期结果的程序以外,还需要对应的说明文档,以及一系列的后续服务,比如修复原有Bug,应对新的需求等。凡此种种,都需要一个合理的工程化手段去保证执行,即软件工程。

第1章,概述了什么是软件工程,以及为什么需要软件工程,提纲挈领地做了指引。
软件开发的不同阶段:玩具阶段→业余爱好阶段→探索阶段→成熟的产业阶段
软件所具有的特殊性:复杂性、不可见性、易变性、服从性、非连续性(由软件的本质所决定的)
软件还有其他特性:
有许多不同的程序设计语言、软件工具和软件开发平台
存在许多不同的软件开发流程
软件团队中存在许多不同的角色
软件通常既可以存储在磁带上,也可以存储在CD/DVD上
作者邹欣总结的自己做过的项目的各自特点:
Build To Learn:开发软件,构建系统的目的是做进一步的试验,试图发现客观规律或某个试验方法的优点与缺点。这些项目经常是科研论文的基础工作。
Build To Show:为了突出地展现某个技术的作用,开发一些演示为目的的软件,这些项目很吸引眼球,经常获得新闻报道,但是功能未必全面。
Build To Serve:为了服务一定范围的目标用户而构建的工具等,有时以公开的SDK形式发布。
Build To Win:以在市场上赢得用户为目标而构建的软件。这也是种种科学发现,技术突破最好的试金石。这是我在研究院之外的十余年中做的最多的项目类型,也是这本书的英文名字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877167.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7解决 pip is configured with locations that require TLS/SSL 问题

​ 当在 CentOS 系统中遇到 pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available 错误时,这通常意味着 Python 的 SSL 模块没有正确安装或配置,从而导致pip无法使用安全连接来下载包。以下是解决此问题的详细步骤: …

突破自我,研发必须掌握的软技能!

0 你的问题,我知道! 光有硬技能远不够,很多研发硬技能不错,但发展有明显天花板。 影响研发职业发展走多远的核心能力有啥?技术只是打底和起步,长期职业发展看综合能力,各种软技能组合。研发常忽视或理解片面的能力: 1 沟通表达 1.1 啥是沟通表达? 不是口头“能说”,而…

小智带货助手【制作教程】增加音视频转换加贴纸等

根据用户反馈,【制作教程】在原有的功能基础之上,小智带货助手额外增加了:视频裁剪、音视频转换以及提取、音视频合并、图片转视频、音频截取、视频加贴纸等。便于直接对下载的素材进行二创修改。 截取音视频:begin为开始时间(毫秒),duration为要截取的时长(毫秒);注意单位…

昆明理工大学MBA25考研复试真题

--昆工MBA考研、管理与经济学院、125100工商管理、125602项目管理、199管理类综合能力、F009 政治、F008政治+项目管理概论

Windows server 2025 版本号 适用于 Windows Server 2025 的汇报

Windows server 2025 版本号 适用于 Windows Server 2025 的汇报 Windows Server 2025 是我们的年度频道中的最新版本。 在此页的左侧,你将找到针对此版本的 Windows Server 发布的所有更新的列表。 你还可以找到有关版本和任何已知问题的更多信息。 安装最新的更新可确保你还…

04. 用户管理

一、添加用户我们可以使用 adduser 命令 添加新用户。 sudo adduser 用户名二、更改用户密码创建完用户之后,我们还可以使用 passwd 命令 更改用户的密码。 sudo passwd 用户名三、查看用户信息我们还可以使用 id 命令 查看用户是否存在。 id 用户名如果我们想查看更多人的用户…

java中的HashSet与 == 和 equals的区别

什么是HashSet 在 Java 中,HashSet 是一个基于哈希表实现的集合类,它实现了 Set 接口 HashSet 的主要特点是:1,2 HashSet 的主要特点是 1,集合中的数据不能够重复 2,存储的数据是无序的(元素的存储顺序与插入顺序无关) 3,允许 null 值: 可以存储一个 null 元素(感觉这个不算)…

java中的HashSet

什么是HashSet 在 Java 中,HashSet 是一个基于哈希表实现的集合类,它实现了 Set 接口 HashSet 的主要特点是:1,2 HashSet 的主要特点是 1,集合中的数据不能够重复 2,存储的数据是无序的(元素的存储顺序与插入顺序无关) 3,允许 null 值: 可以存储一个 null 元素(感觉这个不算)…

记录本地部署自己的DeepSeek 大模型AI

准备工具Ollama:用于简化大型语言模型(LLM)的本地部署和使用,可以同时支持多个大模型,开发者能够方便地在本地环境中运行和测试不同的语言模型,简单的说就是相当于一个容器。官网地址:https://ollama.com/ChatBox AI:是一款用于接入各种大模型的客户端,使在大模型AI时…

CF999

A link首先,每次操作(第一次除外)之前\(s\)一定是一个奇数,那么我们要再加一个奇数才能让它变为偶数分数加一。 那么就是说操作过至少一次后,有几个奇数就有几分。 那么如果有至少一个偶数,那么第一次用偶数可以得分,后面再用奇数可以得分,偶数的不了分,最终得分就是奇…

1.30

1.30 Maze - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)从一个空格走cnt - k个点并标记,然后将没有标记的点设为A即可import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputS…

java中jdk的下载地址

java中jdk的下载地址 https://www.oracle.com/java/technologies/downloads/#java17-windows作者:流年少年 出处:https://www.cnblogs.com/ishoulgodo/ 想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!如果觉得这篇文章…