关于《现代软件工程基础》的三四问

分享经典、现代和前沿软件工程课程 帮助读者系统而完整地梳理了软件工程的经典、现代和前沿理论、方法和技术,通过案例分析让读者了解其运用,并以浅显易懂的方式讲授业界广泛使用的方法和技术如敏捷开发方法、群智化开发方法-开源和众包、DevOps方法等,让读者理解和掌握现代业界使用的方法和技术。而系统工程的目标是寻求最优解。理论上说,一对一的情况下,三个人之间的沟通量是两个人之间沟通量的3倍,四个人之间的沟通量是两个人之间沟通量的6倍,考虑到多个人或者多个团队之间开会协商、一起解决问题的需要,增加人手的作用往往要大打折扣,甚至可能起到负面的作用。 阅读详情
  1. 关于开源软件:

开源软件是一种重要的可复用软件制品来源,当前得到广泛复用的许多软件开发框架以及软件的组件都是开源软件。

  1. 软件的开源确确实实带来了不少的好处,难道开源不会引起一系列的版权争议吗?

  1. 如果出了问题,谁来负责呢?尽管理论上这听起来很合理,但如果我们一开始就使用可信赖的软件产品,远比在遭受经济损失之后才去控告软件供应商要好的多。几乎所有的主要软件公司都利用最终用户许可证的支持来解决一些由于他们软件的问题而带来的可能要负责的困扰。Microsoft和IBM公司有着庞大的,一流的法律职员,使得顾客的控诉不可能成功。在将来法律可能会越来越偏向软件供应商。

  1. 在购买商业软件包上我们已经拥有巨大的投资,这仅仅是“必然花费谬误”的一种形式。软件许可证,好像为写字楼付的租金,是一些消费,但不是投资。如果别的产品能很好的以较低的成本实现你的组织的需要,那么过去把钱花费在低级的软件上对决策不应该产生影响。记住,你可能面临严重的政治上的反对,它来自于那些选择了赞成使用昂贵的,低级的产品,而不愿意承认他们的错误的守旧者。同时,考虑到它们可能被再次扩展,在训练职员和相关基础设施上的投资是完全合理的。

  1. 关于软件需求

软件需求是用户解决问题或达到目标所需条件或权能。 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 一种反映上面或所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。

  1. 将来的软件需求必然是复杂的,假如我们不形成体系,而是杂乱无章的为需求人服务,就会形成雇佣兵体系,这对一个行业的远大发展是不理想的,一个好的环境难道不更利于发展吗?

  1. 而且有时候也会有优秀的用户遇到糟糕的需求,用户参与不足,用户需求不明晰,因为用户没有参与过开发,相关说明无法解释清楚而发生的情况,营销人员或经理经常喜欢只给出一个粗略的说明,希望开发人员在开发过程中充实它。用户方面会不会真正成为问题?

  1. 关于软件的集成与发布

当前,在很多软件项目中集成与发布过程仍然主要以手工的方式完成。开发人员需要手工合并其他开发人员的代码,再手工编译代码并手工运行单元测试。交付团队需要手工安装与配置软件所需的操作系统、数据库、应用服务软件以及第三方软件,并手工将软件与相关的数据复制到试运行环境与生产环境,最后启动软件。在上述手动集成与发布过程中,任何一个步骤都有可能出错,而且不可避免地引入各种人为失误,导致集成与发布过程不可重复也不可靠,增加开发团队与交付团队及时交付的难度,同时浪费大量时间。此外,在这种手动集成与发布过程中,软件在开发过程中一般处于不可运行状态,而往往在完成大部分开发工作时,才第一次有了可运行可工作的版本,才第一次被部署到试运行环境进行测试,导致到了集成与发布阶段才发现软件并不能满足客户的需求、开发环境与生产环境不一致所导致的各种错误,增加修复错误的代价,甚至推迟发布日期。为了避免这些问题,要尽快地向用户交付有用的、可运行、可工作的软件。

  1. 软件的集成与发布是否能够形成一条长期的流水线?形成了流水线,又是否能够长期存在呢?会不会因为版本变动而需要重新设计流水线,又或者公司是否能够长期担负这种流水线?

  1. 本来产品是没问题的,程序员甲和程序员乙分别做的改动也是没问题的,但是合在一起,就可能有问题吗?

  1. 如果没人使用版本控制工具,那么版本变动,是否会导致重要文件丢失呢?

以上便是我在读《现代软件工程基础》而想到的问题。

现代软件工程半期知识点整理 文章目录一、软件工程(一)软件的本质1. 软件2. 软件应用领域3. 遗留软件(二)软件工程1. 软件工程学科2. 软件过程2.1 过程框架2.2 普适性活动(umbrella activity)3. 软件工程实践3.1 实践的精髓3.2 通用原则4. 软件神话二、软件过程(一)软件过程结构1. 通用过程模型(a generic process model)2. 定义框架活动3. 明确任务集4. 过程模式(process pattern)(二)过程模型1. 惯用过程模型1.1 瀑布模型(waterfall 阅读详情

相关推荐

《构建之法:现代软件工程》读后感

《构建之法:现代软件工程》读后感 大家好,我是一名软件工程的在读大学生,之前对于软件工程并没有太大的认知,想着大概也就是敲敲代码,写写文档之类的,并没有进行太过深入的了解,但自从阅读了邹欣老师的《构建之法—现代软件工程》,似乎为我打开了关于软件工程的另一扇新世界的大门,让我对此有了不同的认识。 邹欣老师的《构建之法:现代软件工程》书中文笔优美,图文并茂。我们可以通过这些图片加深对相关概念的理解;书...

weixin_44140163的博客 633

《构建之法—现代软件工程》阅读与提问

《构建之法—现代软件工程》阅读与提问

Arthuring的博客 329

全面掌握现代软件工程的理论与实践

软件工程是IT领域中的重要学科,它不仅仅关注软件的开发,还涉及了软件从概念提出到产品退役的整个生命周期。在这一章节中,我们将简要介绍现代软件工程的基础知识,包括其核心原则、关键活动、以及行业标准等,为后续章节内容奠定坚实的基础。需求规格说明书(Software Requirements Specification,SRS)是描述软件产品功能和性能需求的详细文档。它是开发团队和客户之间沟通的重要桥梁,也是软件开发的法律和合同基础。撰写需求规格说明书时,需要遵循一定的结构和内容。

weixin_42348783的博客 1171

《构建之法:现代软件工程》读书笔记

这本书开始作者就从自己的亲身经历出发阐述了关于软件工程方面的基本概念和方法,其中着重提到了一个方法“做中学”,这是一个全新的方法,这个方法是作者这些年的经验的总结概括,并且作者也进行了相应的试验教学并且取得了不错的效果,这门课本身十分的枯燥乏味,通过这种方式可以让我们更加容易接受。 通过这本书的学习我了解了软件工程在开发软件的过程中的重要性,知道了如何用工程化的思想来开发软件,因为缺乏工程...

zxcvbnmzzb的博客 1849

机械臂的运动学分析-工业机器人

机械臂的运动学是研究机械臂各连杆坐标系之间的运动关系,是对机械臂进行运动控制的基础。本章分析了所设计的六自由度机械臂的运动学。理论上六自由度机械臂的工作空间是一个近似球形区域,能够覆盖机械臂所在的位置,但由于机械臂关节的运动范围受到限制,机械臂末端会存在一些不能到达的工作死区,使得机械臂的工作范围和灵活性受到限制。理论上六自由度机械臂的工作空间是一个近似球形区域,能够覆盖机械臂所在的位置,但由于机械臂关节的运动范围受到限制,机械臂末端会存在一些不能到达的工作死区,使得机械臂的工作范围和灵活性受到限制。

qq_59137727的博客 6649

【RL+空战】学习记录01:jsbsim 仿真环境初次学习,F16 战机起飞

【代码】【RL+空战】学习记录01:jsbsim 仿真环境初次学习,F16 战机起飞。

weixin_41369892的博客 904

从《构建之法:现代软件工程》走进软件工程的学习

什么是软件工程 什么是软件工程?它跟一般的计算机学科有什么不同?BarryBoehm的定义是:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。可见软件工程更多注重的是软件的开发而非硬件的维护、修理等,它是计算机学科重要的一部分。 《构建之法:先代软件工程》(以下简称《构建》)一书中提到,软件工程这一专业,尤其是大学生,其师生关系是健身教练和健身员的那类关...

Saoka的博客 321

HX720数据采集实战:从硬件连接到姿态解析(含避坑指南)

本文详细介绍了HX720高精度ADC芯片在数据采集与姿态解析项目中的实战应用。内容涵盖从硬件电路设计、驱动源码编写与优化,到原始数据处理、校准以及最终姿态角度计算的完整流程,并提供了关键的避坑指南和调试技巧,帮助开发者高效完成从传感器信号到可用姿态数据的转换。

i8j9k0l1的博客 488

构建之法——现代软件工程

第一章 概论 1.1 软件=程序+软件工程 程序 =数据结构+算法 数据 静态数据 动态数据 源代码管理的问题也叫配置管理,具体验证的过程叫做软件测试 新的成员要尽快读懂已有的程序,了解程序设计,这叫程序理解 团队新老成员要一起修复各种各样的问题,这叫软件维护,或者服务运营,这一系列的过程就叫软件的生命周期 在这一周期中,有人的负责软件项目的管理 软件企业 = =软...

dishengning6182的博客 286

学习C++的递归函数(包含汉诺塔讲解)

简单来讲,递归函数就是函数本身自己调用自己,那么函数又是什么呢?#include <stdio.h> //这行是头文件,不同的头文件可以用不同的函数int main() //这里就是一个main函数//这里是你要编写程序的内容return 0;(这是个小细节如下)所以我们平时用来练习的就是一个main函数,而且是一个整型类型的函数,而这也是最后一句话为什么要加一句 return 0;了,因为它最后要返回整数类型,其它整数也可以,但是大家规定为0,这是C++自带的函数。

2302_81032013的博客 2594

TeXstudio完整安装配置教程(2025最新版)

至此,你已经完成了TeXstudio的完整安装和配置!现在你可以:✅ 使用TeXstudio编写LaTeX文档✅ 正确编译中英文混排的文档✅ 掌握基本的编辑和配置技巧LaTeX的学习曲线较陡,但一旦掌握,你会发现它在学术写作中的强大之处。建议从简单的文档开始练习,逐步掌握更高级的功能。祝你LaTeX写作顺利!如果有任何问题,欢迎在评论区留言交流。关键词:TeXstudio安装、LaTeX环境配置、中文LaTeX、TeX Live、学术论文写作更新日期:2025年10月。

weixin_51241407的博客 4506

《现代软件工程基础》读后感

《现代软件工程基础》读后常见问题分析。

HALO_Qin的博客 316

uniapp自定义tabbar闪屏?3步搞定原生tabbar隐藏+自定义占位(附完整代码)

本文针对UniApp开发中自定义TabBar切换页面闪烁的痛点,提供了一套根治方案。通过隐藏原生TabBar并利用自定义组件进行视觉占位,巧妙结合原生切换的无闪烁优势与自定义设计的灵活性。文章详细解析了闪屏根源,并附上完整的page.json配置与代码实现,帮助开发者彻底解决此问题,提升小程序应用质感。

postgres8guard的博客 1531

《现代软件工程》:师生的关系是怎样的?

原文地址:http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html作者:邹欣(微软亚洲研究院首席研发经理,《编程之美》作者)现代软件工程讲义 0 课程概述这门课的教学方案在这里. 根据学生和学校的具体情况, 可以进行调

出版人周 筠 6064

USRP N210与MATLAB连接实战:从驱动安装到信号接收

本文详细介绍了USRP N210与MATLAB连接的完整流程,涵盖驱动安装、网络配置、支持包安装及信号接收实战。重点解决了安装过程中的常见错误和硬件连接问题,并通过MATLAB代码示例展示了如何配置接收器、处理信号数据,帮助用户快速实现从设备对接到信号分析的全过程。

blue的专栏 821

基于STM32开发板的USB MIDI键盘实现

在本文中,我们介绍了如何使用STM32开发板和相应的软件工具来实现USB MIDI键盘。通过配置STM32CubeMX和编写相应的源代码,我们能够将STM32开发板转换为一个功能齐全的USB MIDI设备。我们将使用STM32开发板和相应的软件工具来实现这一功能,并提供相应的源代码供参考。此时,您应该可以使用STM32开发板作为USB MIDI键盘,并在按键按下时听到相应的音符。在STM32CubeMX中,选择适当的STM32型号,并启动一个新的项目。然后,将生成的可执行文件烧录到STM32开发板中。

2301_79326616的博客 1590

《构建之法:现代软件工程》感想篇

读《构建之法:现代软件工程》的感想:     初次阅读这本书,就觉得这是一本很直接地讲述《软件工程》的书,里面的内容通俗易懂,用许多实例项目,巧妙的语言讲解知识,进而让读者对这门课程产生了很大的兴趣。以下是我速读《构建之法:现代软件工程》之后产生的几点疑问: 第一章 概论     文章在开篇中写道,“我成为了一名职业程...

woliangbuliang的博客 342

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

2021现代软件工程考试复习

2021现代软件工程考试复习指南 根据课件中的以下基本内容,适当的扩展阅读一些材料来复习。 第一章:软件工程概述 1. 理解什么是软件工程,软件工程包含那些领域,以及为何要搞软件工程? 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。 软件工程包括下列领域: 软件需求分析、软件设计、软件构建、软件测试和软件维护。 需求复杂,软件要满足不同类型用户的多种需求,并且能长时间提供服务 系统太复杂。工程是必要的,因为这些系统可能包含数百万行代码。 人们的生命,财产依赖于软件。几百万美元

小小鹏的博客 2255

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

《现代软件工程—构建之法》

提示:本篇文档只要是认识熟悉csdn编辑器 文章目录前言一、熟悉基本功能?二,总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、熟悉基本功能? 导入文件,图像,动画,表格,代码。 二,总结 csdn编写文档更加方便,尤其是在使用了博客园的博客撰写后,使用起来感觉功能更加齐全。 ...

qq_56203182的博客 1314

现代软件工程 教学博客 邹欣

Version:1.0 StartHTML:000000223 EndHTML:000043288 StartFragment:000002387 EndFragment:000043202 StartSelection:000002387 EndSelection:000043185 SourceURL:https://www.cnblogs.com/xinz/archive/2011/11/2...

linuxarmsummary的专栏 1088

现代软件工程:技术革新与未来展望

现代软件工程:技术革新与未来展望 随着信息技术的飞速发展,软件工程作为IT产业的核心领域,正在经历前所未有的变革。本文将从技术革新的角度,探讨现代软件工程的发展趋势、面临的挑战以及未来的机遇。 一、技术革新引领软件工程新潮流 现代软件工程正逐步从传统的、以文档驱动的开发模式,向更加灵活、高效、自动化的方向发展。这一转变得益于一系列前沿技术的不断涌现,包括人工智能(AI)、数字孪生技术、平台工程、混沌工程技术等。 人工智能与自动化 人工智能技术的快速发展,为软件工程的自动化提供了强有力的支持。通过

2302_78109835的博客 6263

微软的软件工程现代化转型

现代软件工程创造了一种文化、工具和实践,专注于开发高质量、安全和功能丰富的软件服务,以实现微软的数字化转型。微软核心服务和工程(CSEO,前身为微软内部IT,服务微软内部客户)团队正在实施现代软件工程愿景,以创建一种文化、工具和实践,致力于开发高质量、安全和功能丰富的服务,来实现微软的数字化转型。现代软件工程计划正在帮助CSEO痴迷于客户,加快新功能的交付,并提高工程效率。 1:到目前为止的旅程 截止2020年1月,微软向云计算的迁移使CSEO能够提高开发流程的整体敏捷性,并为由约1400个组件所...

云科技时代 1040

现代软件工程的《构建之法》

要想了解世界,就必须亲自来打造它。—— 帕韦泽(Cesare Pavese)国庆假日期间,我重读了邹欣老师的《构建之法》一书。我从事软件行业相关工作超过15年,每每在被问...

dotNET跨平台 2242

读《现代软件工程基础》后三问

提出以下问题 感兴趣的原因: 第一次意识到原来只和电脑打交道的职业,竟然也要对社会负责任,是国家需求与社会需要,是职业道德与工匠精神,也是伦理道德与社会影响驱使着软件工程师扛起责任 感兴趣的原因:以前只知道造车造船造飞机等实物需要构建模型,看到了书里才知道,原来非实体也能构造出结构框架,对其进行抽象描述 感兴趣原因:在现实生活中的商品需求,都很容易就能明白理解,但是对于软件需求,这类对网络虚拟的需求,第一次接触,仿佛比现实中需求更难以理解

qq_61434514的博客 325

构建之法——现代软件工程 阅读笔记

敏捷开发的原则尽早并持续地交付有价值的软件以满足顾客需求。欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。业务人员和开发人员在项目开发过程中应该每天共同工作。以有进取心的人为项目核心,充分支持信任他们无论团队内外,面对面的交流始终是最有效的沟通方式可用的软件是衡量项目进展的主要指标:敏捷流程应能保持可持续的发展。领导, 团队和用户应该能按照目前步调持续合作下去。只有不断关注技术和设计才能越来越敏捷.尽可能简化工作量的技艺。

m0_60308530的博客 1724

《现代软件工程》作业1 学长采访

我们采访了几位曾经选修过《现代软件工程》课程的学长,他们向我们阐述了他们对于《现代软件工程》这门课程以及如何做软件工程的一些思考和感悟,并给我们提出了很多宝贵的建议。 这里先附上我们的问卷: 《现代软件工程》课程调查问卷 你认为你们项目成功之处在于(多选) 个人编程能力强 PM给力 团队合作密切 项目推广工作给力 其他________...

weixin_30279315的博客 330
上一篇: 拼字检索——
下一篇: 我的软件工程FLAG及其希望和个人目标
Whtiewww
博客等级 码龄7年 54粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值