慕课软件工程(第十三章.如何进行问题域部分的设计)
慕课北京大学.软件工程.第十三章.面向对象设计-1.如何进行问题域部分的设计0 目录13 面向对象设计-113.3 如何进行问题域部分的设计13.3.1课堂重点13.3.2测试与作业14 下一章0 目录13 面向对象设计-113.3 如何进行问题域部分的设计13.3.1课堂重点13.3.2测试与作业...
CVE-2024-3094:Linux生态供应链攻击-CVE-2024-3094:供应链攻击? 一个潜伏3年只为通杀的漏洞,今天更新了一个CVE漏洞,XZ-utils5.6.0/5.6.1版本后门风险(CVE-2024-3094)这个后门并非作者无意加入的,也不是引入存在后门的库文件导致的问题,而是有人经过三年的潜伏,积极参与该项目的维护,在获得了直接commit代码的权限以后将后门代码注入其中。 这个代码一共存活了不到2个月的时间,发现者是PostgreSQL 开发人员兼软件工程师 Andres Freund 意外发现的,在观察到 liblzma(xz 包的一部分)Debian sid(使用 ssh 登录占用了大量 CPU,valgrind 错误,然后找见了上游 xz 存储库和 xz tarball 已被后门。 幸运的是,xz 5.6.0 和 5.6.1 尚未被 Linux 发行版广泛集成,而且大部分是在预发行版本中。 但是kali linux如果每周更新或者最近3月26到29号之间更新了,不好意思。 根据kali官方说法希望更新, 首先我们apt-cache policy liblzma5 更新命令 sudo apt update && sudo apt install -y --only-upgrade liblzma5 更新 难的追一回滚动更新就这样玩吗?看来以后也不要追最新的。 当然我们还可以cat /var/log/apt/history.log 查看更新时间和都更新了哪些内容! 附: 各大linux系统可以查看自己对应的系统,查看官网说明 比如我的kali可以直接在https://www.kali.org/blog/about-the-xz-backdoor/看到 当然了这个供应链后门只能说差一点就完美成功,因为他写的有bug在sshd运行的时候直接cpu飙升,引起了研究员的注意,否则如果在发行版中大规模集成,估计可以造成linux的一个通杀,现在只是在预发行版中,但是更新快的比如kali linux中如果滚动更新那么就会被影响到。 参考链接:
https://www.kali.org/blog/about-the-xz-backdoor/ https://avd.aliyun.com/detail?id=AVD-2024-3094 https://github.com/advisories/GHSA-rxwq-x6h5-x525
【软件工程基础】敏捷软件开发(Agile Software Development)
软将工程基础第三篇:敏捷软件开发(Agile Software Development)。下文图片,摘自老师ppt。文章目录前言现代软件开发特点敏捷宣言(Agile Manifesto)敏捷指的是什么?敏捷过程特点敏捷原则12条总结前言 现代软件开发有需求变化大,人员流动大等特点,传统的软件生...
软件工程笔记:敏捷是什么
敏捷是什么— 笔记整理自 北京理工大学 计算机学院典型瀑布模型开发计划、过程管理、团队管理需求 -》 设计 -》 编码 -》测试 -》部署活动之间存在隔阂分工明确是优点还是缺点?备注:图片托管于github,请确保网络的可访问性从瀑布到车轮备注:图片托管于github,请确保网络的可访问性敏捷宣言(...
vue.js 开发如何应用“软件工程“的原则?
在使用Vue.js进行开发时,将软件工程的原则和最佳实践应用到项目中,可以帮助提高项目的质量、维护性和团队的协作效率。以下是一些具体的建议: 1. 项目结构和模块化 合理组织项目结构:按功能或特性将代码组织成模块,使项目结构清晰,便于管理和维护。例如,可以将组件、视图、服务、路由等分别放在不同的目录...
如何应对复杂软件工程的开发流程?
应对复杂软件工程的开发流程通常需要一个结构化和系统化的方法。这种方法不仅包括采用合适的技术和工具,还涉及到项目管理、团队协作、需求分析、设计、实施、测试、部署和维护等多个方面。以下是一些关键步骤,以及如何将这些步骤应用于使用LabVIEW进行软件开发的示例。 1. 需求分析 在项目开始之前,明确项目...
【软件工程】瀑布模型
瀑布模型瀑布模型(Waterfall Model),它是一个项目开发架构,它的开发过程是通过设计一系列的阶段顺序展开的,从系统需求分析到产品的发布和维护,一共分为六个基本的阶段。即:指定计划、需求分析、软件设计、程序编写、软件测试、运行和维护 每个阶段都会产生循环反馈,这样某个阶段出现问题时,就可...
软件工程导论—软件与软件工程的基本概念
文章目录1. 软件与软件危机1.1. 软件的概念和特点1.2. 软件规模的分类与发展阶段1.3. 软件危机1.3.1. 软件危机的表现1.3.2. 软件危机产生的原因1.3.3. 软件危机如何解决2. 软件工程学2.1. 软件工程学的概念2.2. 软件工程项目的基本目标2.3. 软件工程的八项原则2...
【软考总结】---软件工程(一)
这篇博文主要分享软考中关于软件工程部分的例题:1、根据活动图计算松弛时间1、某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示相应活动的持续时间(天),则完成该项目的最少时间为()天。活动BC和BF最多可以晚开始(18)天而不会影响整个项目的进...
软件工程之面向对象
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,早期的计算机编程是基于面向过程的方法,比如一个计算正方形的程序,我们的一般思路是,定义三个变量,a=长,b=宽,c=a*b,但是面向对象的思路则是,先创建一个长方形的类,在类里定义两个属性分别为长,宽...
软件工程------面向对象建模
1、什么是对象模型?建立对象模型时主要使用那些图形符号?这些符号的含义 是什么?答:对象模型表示静态的、结构化的系统的“数据”性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。通常使用UML提供的类图来建立对象模型。在UML中术语“类“的实际含义是,一个类及属于该类...
软件工程 之 总体设计
需求分析确定了系统的开发目标,下一步工作就是软件设计。软件设计可以进一步地分为两个阶段:总体设计和详细设计。其中,总体设计又称概要设计,即确定系统的具体实现方案、给出软件的模块结构、编写总体设计说明书。下面就重点给大家讲解一下模块独立性和系统结构图:模块独立性 模块独立性指每个模块只完成系统要求的独...
软件工程 | 第四章 系统设计
软件工程 系列为本学期(2020春季)软件工程以及软件工程实践课程笔记整理~天朗气清,惠风和畅,空气里渐渐飘起了调皮的柳絮今天软工老师终于上课啦,来更新一波笔记~目录一、软件设计的目标的任务1.软件设计的两个阶段2.软件设计的目标3.软件设计中的信息流4.软件设计的指导性原则二、软件设计的基本原理(...
软件工程之测试和维护
文章脉络测试的重要性在此就不赘述了,先说一下测试基础:测试的目标很简单,就是为了找到软件中尚未发现的错误的缺陷;测试阶段在整个开发过程中所占比例不小,测试也不是想起两个数据来就测试一下,而是需要规范的测试用例来完成,测试用例要既有输入更要有输出,同时需要有一个整体的规划。如何评价一个测试用例的好坏?...
软件工程笔记——第七、八章
第七章 软件生存周期过程与管理第一节 软件生存周期过程概述软件生存周期软件生存周期是软件产品或系统的一系列相关活动的全周期。从形成概念开始,历经开发、交付使用、在使用中不断修订和演化,直到最后被淘汰,让位于新的软件产品。国际标准化组织于1995年发布《ISO/IEC软件生存周期过程12207-199...
软件工程之PERT图 (AOA与AON)
二 分类PERT图分为两种类型:AOA 和AON箭头活动(AoA)和节点活动(AoN)都属于程序评估和审查技术(PERT)的一种,这是一种众所周知的方法,用于在完成项目时分析各种任务,尤其是当它涉及到完成每个任务所需的时间以及完成整个项目所需的最短时间。传统上,活动序列图利用框或什至矩形来显示活动,...
软件工程之软件质量概念
软件质量1.ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。2.M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。软件质量特性1.软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结...
软件工程之需求分类
业务需求业务需求是指那些可以帮助企业达成组织目标(包括策略目标)的需求项企业的业务需求是关于企业业务的陈述,和这个需求如何被实现无关,无论是手动的还是通过系统来完成。业务需求被叫做业务目标例如:携程旅行的业务需求是卖飞机票公司的目标:是成为当人们想买飞机票时首先想到的公司系统需求系统需求的满足使得系...
《软件工程》-面向过程的软件设计方法
【前言】软件设计的目标和任务软件设计基础模块独立性结构化设计方法数据设计和文件设计、过程设计【内容】1.软件设计的目标和任务根据用信息域表示的软件需求,以及功能和性能需求,进行数据设计:数据结构定义系统结构设计:软件的系统各主要成分之间的关系过程设计:结构成分转换为软件过程性描述。2.软件设计任务分...
软件设计师笔记:软件工程
文章目录一、软件开发模型1.1 瀑布模型(SDLC)1.2 其他经典模型(原型模型、增量模型、演化模型)1.3 螺旋模型1.4 V模型1.5 喷泉模型与RAD1.6 构件组装模型(CBSD)1.7 敏捷开发方法二、信息系统开发方法三、需求工程四、系统设计4.1 结构化设计五、软件测试5.1 测试原则...