软件工程之美9讲——为什么软件工程项目普遍不重视可行性分析? 为什么软件项目很少做可行性研究? “因为我们是软件项目,所以我们很特殊。”“我们很特殊”,这句话听着有没有很熟悉?软件项目确实有和其他工程项目不一样的地方。比如说软件项目很抽象,以至于在立项之前对于问题的描述(需
软件工程之美7讲——大厂都在用哪些敏捷方法?(下) 一个应用敏捷开发的小组日常 分工上 产品经理:写需求设计文档,将需求整理成 Ticket,随时和项目成员沟通确认需求; 开发人员:每天从看板上按照优先级从高到低领取 Ticket,完成日常开发任务; 测试人员:测试已经部署到测试环境的程序,如果发现 Bu
https://blog.csdn.net/zhu_xz/article/details/6048610 本文的英文版在这里:http://xizhizhu.blogspot.com/2010/12/beauty-of-qt-2-meta-object.html 除了D指针,Qt中另一个很有意思的部分就是Q_OBJECT宏了。该宏提供了对元对象的访问,使得能够使用比如信号和槽等QObject的更多特性
https://blog.csdn.net/zhu_xz/article/details/6061201 为了最大化资源使用,和最小化数据拷贝,Qt在很多类中用到了隐式数据共享,以便数据仅在被写入时才被拷贝。该机制也被称为flyweight模式。 让我们以QByteArray为例,看看其是如何实现的。其内部使用一个名为Data的私有结构体来追踪
软件工程之美45讲——从软件工程的角度看微服务、云计算、人工智能这些新技术 软件工程中技术架构和组织架构的关系 微服务架构的设计,不仅仅是一个对服务拆分的架构设计,同时也是对组织架构拆分的设计。 新技术改变了软件工程中的分工协作 云计算通过标准化的服务简化了开发的难度
《数学之美》 吴军 第一章:文字和语言vs数字和信息 主要内容概述:“语言和数学的产生都是为了同一个目的——记录和传播信息”。科技是伴随着人类的不断进化而发展进步的。信息是从人类诞生(雏形时期)开始就已经产生,并与现在的通信模式没有什么不同。同时随着信息量的增加,认字也
我们的生活会面临诸多选择,这就像苏格拉底让柏拉图去找麦穗,什么时机下手,才能摘到相对满意的? 又比如说找房子。你的目标是把“看过的好房子被人挑走”和“还有好房子没来得及看”这两种遗憾的发生概率降到最低。 大部分人都是靠直觉来做选择的,而直觉是最不靠谱的东西。 用瑞·达利欧
敏捷开发 敏捷开发定义 敏捷不是一种方法论,也不是一种软件开发的具体方法,更不是一个框架或过程,二十一套价值观和原则。软件开发宣言: 个体和互动高于流程和工具。 工作的软件高于详尽的文档。 客户的合作高于合同谈判。 响应变化高于遵循计划。 敏捷开发特点 需求分析:需求源于一
瀑布模型 瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。主要分为 6 个阶段: 问题的定义及规划:这个阶段是需求方和开发方共同确定软件开发目标,同时还要做可行性研究,以确定项目可行。这个阶段会产生需求文档和可行性研究报告。 需求分析:对
本文是我学习课程《软件设计之美》的学习总结第四部分,记录对于设计模式和简单设计的理解。 上一篇:体会软件设计之美(3) 1 关于设计模式 上一篇重新理解了面向对象的三大特点及SOLID五大设计原则之后,我们知道了,设计原则是道,是一个可以树立在我们心中的标尺,作为一个标准指导我们的设计
什么架构师思维 架构设计,就是要控制技术的复杂性,其中有几种有效的方式: 抽象 分治 复用 迭代 抽象思维 抽象思维可以说是整个架构设计的基础。因为对于架构设计来说,是要为了满足业务需求的,而业务需求都是一些文字性的描述、原型、UI 设计图,这些需求要最终变成代码让机器执行,就必
你为什么应该学好软件工程? 软件工程学告诉我们,软件项目的开发其实是一个工程,整个开发过程是可以有效组织起来的;对于开发过程的各个阶段,已经有很多解决问题的最佳实践,有很多方法来帮助我们高效完成任务;我们还可以借助工具来协助管理,提升开发效率。 从软件工程的角度解读任正非的新
写正文前的一段关于数学的感概~ 作为一名即将毕业的大四狗,经历了一年的考研时光,对数学重拾高中时的感觉,热爱。 还记得小学五年级前我是如此的痛恨数学,直到在五年级遇到了一位非常幽默的数学老师,是他让我逐渐爱上了数学,是他在全班面前表扬我拿到满分的数学卷子。谢谢“肥帅”
“一只南美洲亚马逊河流域热带雨林中的蝴蝶,扇动了几下翅膀,几周以后引起了美国得克萨斯州的一场龙卷风。“ 相信很多人都听过这句话,这就是非常著名的蝴蝶效应。其实,蝴蝶效应的背后就是大名鼎鼎的混沌理论。 BBC在2009年播出的一个纪录片《神秘的混沌理论The Secret Life of Ch
<div></div> html代码 div { width: 0; height: 0; border-top: 10px solid red; border-right: 10px solid green; css代码 border-left: 10px solid blue; border-right: 10px solid pink; } <div></
链表 题目列表 单链表反转检测链表是否有环两个有序链表的合并求链表中倒数第n个节点求链表的中间节点 提示 1:头插法, 带头链表ss 2,4,5:快慢指针 3:按部就班,另起炉灶。 注意: 1. 注意避免内存泄漏,死循环 2. 注意边界条件,空链表,单节点链表,尾结点等情况 3. 举例画图,辅助思考
精读了《架构之美》的前两章,对与软件工程的学生来说,设计软件是非常重要的,初步阅读了这本书的前面部分后能够明白什么是架构,读完之后能需要明白什么样的架构应用到软件上更加合理,应该怎样来构建合适的架构来适应所要开发的软件,这就是阅读这本书最终的目的。 第一章架构概述首先介绍
第二部分企业级架构包含四章,这次总结这一部分的前三章。分别主要讲了多人游戏架构技术、影响系统架构的两个方面:功能和约束、创建数据驱动的应用的资源映射的作用。 第三章伸缩性架构设计,书中采用了Darkstar的项目为例,这是一个虚拟游戏项目,所以该项目的服务器必须拥有较强的伸缩
感觉这题真的特别有意思,涉及了 OI 中很多非常有意思、非常美的手法,比如——平衡两部分的时间复杂度、\(n \ln n\) 的那个 Trick等等,真的一种暴力的美学。
在阅读过程中有任何问题,请及时联系:egg。 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 如有转载,请说明出处:http://blog.csdn.net/zhangerqing 我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据 第一是线性表(Linear List)。顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构 非线性表,比如二
今天学习的是架构之美的第五章——面向资源的架构:在web中。这一章,作者讲述说明了,企业中聚焦信息的架构展示了雨web一样的特点:伸缩性,弹性,架构歉意策略,信息驱动和访问控制等。 Web服务的目标是提供建立可复用的业务服务基础的架构,希望能在不影响客户的情况下在各个地方以不
结合给文件排序这样一个具体的例子,来详细讲一讲策略模式的设计意图和应用场景。 除此之外,我还会通过一步一步地分析、重构,给你展示一个设计模式是如何“创造”出来的。通过今天的学习,你会发现,设计原则和思想其实比设计模式更加普适和重要,掌握了代码的设计原则和思想,我们甚至
在机器学习中,无监督学习一直是我们追求的方向,而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。目前如谷歌新闻等很多应用都将聚类算法作为主要的实现手段,它们能利用大量的未标注数据构建强大的主题聚类。本文从最基础的 K 均值聚类到基于密度的强大方法介绍了 6 类主流方
I 第二版序言 III 第一版序言 VI 第三版前言 1 第1章 文字和语言 vs 数字和信息 文字和语言与数学,从产生起原本就有相通性,虽然它们的发展一度分道扬镳,但是最终还是能走到一起。 1 信息 2 文字和数字 3 文字和语言背后的数学 15 第2章 自然语言处理——从规则到统计 人类