第一章:

什么是软件?
计算机系统中与硬件相互依存的另一部分。软件包括程序、数据及其相关文档的完整集合。

(1)能够完成预定功能呾性能的可执行指令(program)
(2)使得程序能够适当地操作信息的数据结构(data)
(3)描述程序的操作呾使用的文档(document)

软件危机的定义?

软件在开发和维护过程中遇到的一系列严重问题。

软件危机包含两层含义:

(1)如何开发软件
(2)如何维护数量不断膨胀的现有软件。

软件危机的表现:

(1)软件开发的迚度难以控制,经常出现经费超预算、完成期限拖延的现象。
(2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发 过程带来灾难性的后果。
(3)软件文档资料不完整、不合格。由亍缺乏完整规范的资料,加上软件测试不充分,从而造成软件质量低下。
(4)软件的可维护性巩,程序错误难以改正,程序丌能适应硬件环境的改变。
(5)软件价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

什么是软件工程?

软件工程是指导计算机软件开发和维护的一门工程学科

软件的生命周期?

1、计划阶段:确定待开发的总体目标和范围,研究系统的可行性;
2、分析阶段:分析整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册;
3、设计阶段:决定软件怎么做,集中于软件体系结构数据结构、用户界面和算法
4、实现阶段 :将所设计的各个模块编写成计算机可接受的程序代码
5、测试阶段:设计测试用例,对软件进行测试,发现错误,进行改正;
6、运行和维护阶段:应在软件的设计和实现阶段充分考虑软件的可维护性;

软件工程的三要素:

 1、工具(例:EA、Axure、MoinMoin、XMind等等.....);
2、方法(例:业务建模方法、需求方法、项目管理方法、配置管理方法);
3、开发过程(根据客户、团队和项目特征指定框架,关键是对核心活动的选取和定义,如业务建模、需求、分析、设计、实施、发布);

经典的软件过程:

1、瀑布模型
2、RUP统一软件过程
3、Scrum敏捷过程
4、扩展ICONIX

软件过程之-----瀑布模型:
1、特点及其缺点:

 (1)特点:自上而下、相互衔接的固定次序,上一个阶段的变换结果是下一个阶段变换的输入,相邻两个阶段具有因果关系;
(2)缺点:各个阶段划分固定,阶段之间产生了大量文档,增大了工作量。开发模型是线性的,用户只有等到整个过程的末期才能见到开发结果,增加了风险;早期的错误等到后期的测试阶段才能发现,进而带来严重的后果;

2、过程:

(1)需求分析
(2)需求定义
(3)概要设计
(4)详细设计
(5)实现
(6)系统测试
(7)验收测试
(8)维护

软件过程之----RUP统一软件过程:
1、特点:

中心思想是用例驱动、架构为中心、迭代和增量

迭代:反复求精
增量:逐块建造
软件过程之-----扩展ICONIX
7个阶段:

1、愿景
2、业务建模
3、需求分析
4、健壮性分析
5、关键设计
6、最终设计
7、实现

获取愿景三部曲:

1、第一步:找到项目的"老大"
2、第二步:得到“老大”对项目的期望(愿景)
3、第三步:描述出愿景的度量指标;

业务建模的意义和步骤:
1、意义:
业务建模要求我们把视角从软件系统转向客户组织,站在客户的角度看问题,以达到清晰准确地“诊断”,对症“开方”。

 1、明确为谁服务--找准客户及其愿景,切记不是在为自己做系统;2、要改进的组织是什么现状---有什么痛处和不足;3、如何改进--新系统的价值就是解决客户痛处、改良客户不足,这才是客户愿意掏腰包的动力4、在业务建模和需求分析阶段,忘掉自己技术专家的身份;

2、步骤:

1、明确我们为谁服务(选定要改进的组织)
2、要改进的组织是什么现状(业务用例图、现状业务序列图)
3、我们如何改进(改进业务序列图)

业务建模的第二步(了解组织现状)

从外部看:组织是价值的集合,用业务用例图来建模;
从内部看:组织是系统的集合(人是一种智能系统),用业务序列图来建模;

业务用例(从外部看企业)

业务用例图帮助我们从高层次了解组织的业务构成。

业务用例图的组成:

 1、业务执行者:在业务组织之外,与其交互,享受其价值的人或组织;例如食客是餐馆的业务执行者,顾客是超市的业务执行者;2、业务组织:超市、餐馆;3、业务用例:业务组织为业务执行者提供的价值。例如餐馆的业务用例有吃饭、点餐;超市的业务用例有结账;


业务序列图(从内部看企业)

 业务序列图帮助我们从细节上了解组织的业务流程。序列图以面向对象的思想来看业务流程。(优势)

业务序列图的组成:

1、业务执行者
2、业务工人:位于业务组织内部,负责业务流程中某些工作的人员;(例:银行工作人员、餐厅的服务员)
3、业务实体:在业务用例的实现柳橙汁,业务工人所使用的的“系统”。(例:银行数钞机、餐馆自动点餐机);可以和业务工人相互取代各自的职责;
4、调用消息
5、返回消息


业务序列图的作用:

1、识别业务对象:业务执行者、业务工人、业务实体;
2、确定业务对象间的职责、协助及交互顺序;
3、通过序列图来了解现状,为业务的优化提供依据;

序列图中的几种分支:

1、循环分支:loop
2、条件分支:Alt
3、可选分支:Opt

业务序列图的高级话题:

1、消息的名字:代表责任和目的
2、消息的方向:代表责任委托,不是数据流动
3、知画领域相关的系统
4、最小单位是人肉或独立智能系统;
5、把时间看做特殊的业务实体:时间也可以是执行者,用时间执行者来标识预定的事件;


改进业务序列图(开个好方子)

改进业务序列图步骤(流程):

1、将“新系统”作为一个业务实体进行整体设计;
2、将“新系统”引入组织现有业务流程;
3、查看其可以改进的流程;
4、评估改进结果;

了解业务组织现状的目的—发现流程中的改进点

信息自动流转(自动化)
封装复杂业务逻辑(封装业务工人的行为)
职责的转移(银行员由操作点钞机到取款机)
访问和操作业务对象(员工管理系统、客户管理系统)

业务序列图和改进业务序列图的价值:

业务序列图战线企业内现有的业务流程,暴露问题,为优化提供直观依据。
改进业务序列图,可以提前模拟出新系统的出现,将对组织现行的业务流程造成哪些影响,可以提前评估新系统的可行性或提前进行相应的准备工作,实现安全平稳的组织改进。

业务建模结果复核目的(所有参与者签字确认):

完善业务建模成果,寻找是否有遗漏或者错误的地方进行修正,若问题明显,就需要迭代回去继续做业务建模工作
关键干系人在信息和意见上达成一致,并共同签字确认,作为下一阶段启动的标志;

需求分析:
需求分析的几种主流方法:

原型法;原型法是指在获取一组基本的需求定义后,利用高级软件工具可视化的开发环境,快速地建立一个目标系统的最初版本,并把它交给用户使用。补充和修改,在进行新的版本开发,反复进行这个过程,直到得出系统的“精髓解”,即用户满意;
用例法:由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最织实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。

域建模:
域建模的意义:

为项目创建一个术语表。确保项目中的每个人都能以清晰一致的术语来理解和交流问题领域
域建模比普通的项目术语表优良的地方体现在:以图的方式清晰地显示出不同术语间的关系(见少理解偏差)
域模型图将通过不断修正完善逐步演化为最终的静态类图。

域建模的步骤:

仔细阅读需求文档,提取出名词和名词短语
排除列表中的重复、相似的术语
排除超出系统范围的术语
画出第一版域模型图
整理第一版域模型;



域模型之间的关系:

泛化:一般元素和特殊元素的关系
关联:两个类之间存在着某种语义上的联系。

高级话题:域建模的重要原则

不要花费太多的时间纠缠在最初的域建模工作上(几小时即可)
不要把域模型错误地认为是数据模型
在用例分析千做域建模,以避免命名混淆
不要指望最终的类视图和域模型图完全匹配,但它们在很大程度上应该是类似的
不要把与界面相关的类加入域模型中

用例分析:系统功能性需求分析的好工具;

系统用例建模的步骤

绘制系统用例图
编写系统用例描述
更新域模型

系统用例建模的意义:

系统需求分析的目的是把视角从业务组织转向新系统,站在最终用户及其它干系人的角度看问题;
吸引用例是对(新)系统为系统执行者提供的价值的建模;

业务用例VS系统用例:

业务用例:

例对银行进行业务建模,研究对象是银行,用于分析现有业务的利与弊;


系统用例:

对银行的软件系统进行系统建模,研究对象是银行的软件系统,用于分析新系统所带来的价值;


绘制系统用例图流程:

确定系统边界(系统包含功能与不包含的功能之间的界限;通俗来讲就是分割出系统内和系统外:系统内:需要我们投入大量的精力进行建设;系统外:需要我们考虑与他们的接口)
识别系统执行者(执行者是在系统外,透过系统边界,与系统进行有意义交互的任何事物;如人,系统,硬件设备;)
识别系统用例(1、用例是系统执行的一系列动作,这些动作生成特定执行者可观测的有价值的结果;2、用例是执行者通过系统达到的某个目标 ,例如:取款)
确定用例间的关系(扩展、包含、泛化)

扩展关系:将基用例中一段相对独立并且可选的动作,用扩展用例加以封装,再让他从基用例中声明的扩展点上
包含:使用包含用例来封装一组跨越多个用例的相似动作,以便复用;
泛化:子类继承父类;

系统用例的高级话题:

用例的命名:用例名称必须是动宾短语,采用域建模中的名词术语,慎用弱动词弱名词--会掩盖真正的业务(弱动词:进行、使用、复制;弱名词:数据、报表、表格)
用例不等于功能:(描述事物的三个出发点:结构、功能、价值)
用例不等于步骤:用例是执行者对系统的一个愿望(完成这个愿望可能需要经过很多步骤,但任何步骤不能够完整的反映执行者的目标)
用例与愿景目标(所有用例应该都能追溯到远景目标;所有的愿景目标都应有对应的用例实现)
怎么处理登录
用例分包(当存在大量用例时可以对用例进行分包:按执行者分包,按主题分包、按开发团队分包、按发布情况分包)
不要滥用用例关系


编写系统用例描述:

 干系人利益:用例体现干系人利益的平衡点基本路径:客户最想看到的、最关心的路径;把基本路径单独分离,凸显用例的核心价值;与扩展路径相比,更为有序;扩展路径:系统要处理的意外和分支;与基本路径相比,更为无序;业务规则:注意事项-不要涉及页面细节,基本与扩展分开,不要假想系统不能负责的事情;


用例描述的作用:

系统用例图描述总体,系统用例文档描述细节
每个系统用例必须对应有系统用例描述;


完整的用例文档:(完整不等于必需)

用例编号:用例名
执行者
前置条件:开始用例前系统及其环境的状态;形式:必须是系统能检测到的;内容:不涉及到涉众的利益;
后置条件:用例成功结束后系统应该具备的状态;
干系人利益
基本路径
扩展路径
字段列表:可以用自然语言,也可以用表达式;+:数据序列;【】:可选项;{}:多个;{| | |}:可能取值;A=B:把B的结构赋给A;
业务规则
设计约束:必须来自于干系人;界面样式,报表,平台,语言,外系统接口;

非功能性需求(系统可以把某项功能做到什么程度):

功能性需求:系统可以做什么(人无我有);
非功能性需求:系统可以把某项功能做到什么程度(人有我优);

软件产品的典型非功能性需求:

可靠性(Reliability):系统在一定时间内,在一定条件下无故障地执行指定功能的能力;
可用性(Usability):一个产品可以被特定的用户在同特定的上下文中,有效、高效并且满意得达成特定目标的程度;
性能(Performance):系统实现预期功能的能力的特性
可支持性(Supportability):系统在故障解决和系统升级方面的能力


SRS(软件需求规格书):正确定、必要性、优先级、明确性、可测性、完整性、一致性、可修改性;

需求评审:

临时评审:在日常沟通中做回顾确认;
轮查:交叉交换文档产物,互相提出意见
结对编程
走查
小组评审
审查



需求审查:主要阶段

规划:谁参加?评审什么
总体会议(会前会):召集参加评审会的所有成员开一个简短的会议,讨论、明确要评审的内容、评审的要点、评审时所需的资料、缺陷检查表
准备:评审人员提前阅读和准备,才能提出有价值的建议
审查会议:暴露问题、讨论问题,待审查文档应该符合;
返工:没有返工的评审必然沦为“形式主义”。审评中发现的错误必须得到重视和回应
跟踪:解决问题:对评审提出的问题进行解决;  避免问题再次出现:对问题进行分类,因果分析,找到问题的深层次原因;

需求评审确认需求分析结果,然后才能迚入设计阶段。

用例分析强调站在用户角度看待问题,而设计强调的是站在技术人员角度去看问题,如何衔接两种角度的转换?-------健壮性分析;

健壮性分析的优点:

用例的对象化图示,将用例和对象衔接起来。
指出了参与用例场景的对象相互之间如何交互
确保用力文本的正确性,从而提供了健康性检查
帮助确保用例考虑了所有必需的扩展路径,从而提供了完整性和正确性检查;
让你能够持续发现对象;

健壮性分析技术两个主要的价值:

帮助完善用例分析结果
完善域模型,做为需求分析走向系统设计的过度技术;

健壮性分析中的三种元素:

边界类:与用户交互的对象,系统和外部世界的界面;
实体类:现实世界存在的实体对象,域模型中的类,它常对应于数据库表和文件。
控制器类:边界和实体间的“粘合剂”,将边界对象和实体对象关联起来,它包含了大部分应用逻辑,他们在用户和对象之间架起一座桥梁。控制对象中包含经常修改的业务规则和策略。


健壮性分析中的三种元素的交互规则:

执行者只可以和边界对象通话;
边界对象和控制器可以通话;
控制器可以和另一个控制器通话
控制器可以和实体通话

健壮性分析的步骤:

创建一个空的健壮性图
直接将用例文本粘贴到图上(基本路径和扩展路径)
从基本路径的第一句话画健壮性图
贯穿整个用例基本路径,一次一个句子,画执行者、适当地边界对象和实体对象以及控制器,和各元素之间的连线
将每一个扩展路径画在健壮性图上,并以红色标示出;

健壮性分析的高级话题:

优化健壮性分析图
完善用例描述
健壮性分析的9项指导建议:1、将用例文本直接粘贴到健壮性图上2、从域模型中提取实体对象,如果发现之前有缺漏,则补充上3、在画健壮性图时修正之前用例中模糊的地方4、将每一个屏幕对象定义为边界对象,并进行清晰的命名5、切记控制器对象大部分时候对应的是逻辑操作方法,偶尔也会对应真实的控制器类对象6、再画健壮性图时,如果调用另一个用例,就直接在图上画出调用此用例即可;7、切记健壮性分析描绘的是概要设计而不是详细设计;8、健壮性图上的边界对象和实体对象会转化为时序图中的对象实例,而控制器对象会转化为消息或控制器实例。9、切记健壮性图是用例的“对象化图示”,它的目的是优化和完善用例文本和域模型。

更新域模型:

基于健壮性分析更新域模型;


关键设计:

  • 意义:通过寻找对象之间的交互关系,进而进行方法分配

  • 方法:基于用例图、用例描述和健壮性图,采用序列图来描述参与者、边界、实体之间的交互;

  • 步骤

  •  将现有的域模型直接作为第一版静态类模型基于用例描述和健壮性分析结果,画出每个用例的序列图;1、健壮性图中的控制类会转化为方法2、如果也转化为控制类,那么就添加到类图中整理静态类图和序列图关键设计复核,迭代更新用例图、类图和序列图;
    
  • 如何决定控制器类分配给哪个类

    高内聚、低耦合,是判断设计好坏的标准。
    目的:使得模块的“可重用性、移植性大大增强;”

     高内聚:指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则;低耦合:指一个软件模块与模块之间的接口,尽量少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分,降低相互的依赖。这样有利于修改和组合;
    

  • 关键设计复核方法:

    形式:面对面
    参会人:分析设计师、专家
    被申材料:用例图、用例描述、类图、序列图(为什么没有健壮分析图)
    结果:参会人员都必须要签字


详细设计:
(编码->测试->部署->维护->升级)

技术架构及相关考虑:

选择开发语言
网络拓扑及安全(各种设备如何连)
体系结构(三层:用户界面、业务逻辑、数据访问)
硬件支持环境
软件支持环境(数据库、交互设计)



详细设计范例:

  • 序列图
  • 组件图
  • 部署图


    软件过程之----Scrum敏捷开发

敏捷宣言:是敏捷起源的基础,由4个简单的价值挂组成,敏捷宣言的签署推动了敏捷运动,敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何更好的工作;敏捷是一种以人为核心、迭代、循序渐进的开发方法;

 个体和交互            胜过       过程和工具可以工作的软件         胜过       面面俱到的文档客户合作              胜过       合同谈判响应变化              胜过       遵循计划

虽然右项也具有价值,但我们认为左项具有更大的价值

对敏捷常见的误解:

误解一: 敏捷开发意味着可以不需要文档、设计和计划
误解二: 敏捷只是一些优秀实践,或者是优秀实践的结合
误解三: 敏捷只适用于小项目开发
误解四: 敏捷只会对研发产生改变
误解五: 管理者不需要亲自了解敏捷,只需要管理上支持就可以了
误解六: 引入敏捷只需要按照既定的步骤去做就可以了
误解七: 敏捷是CMM 的替代品,是另一种流程
误解八: 敏捷只注重特性的快速交付,在敏捷下架构不重要了

敏捷=理念+优秀实践+具体应用

  • 理念

     聚焦客户价值,消除浪费激发团队潜能,加强协作不断调整以适应变化
    
  • 优秀实践:业界敏捷优秀实践概览;

  • 具体应用:因地制宜选择适合的敏捷实践

    SCRUM是当前最流行的敏捷过程;

敏捷团队的角色职责:敏捷团队包括三个核心角色

PO特性:领域能力、人际交往能力、决策力、责任心
SM特性:见多识广、善于提问、有耐心、有协作精神、保护团队、公开透明
开发团队的特性:自组织、跨职能的多样化和全面化、T型技能、透明沟通、团队规模适中、专注、有责任感、团队成员稳定

敏捷软件开发过程:

PO和开发团队对产品业务目标形成共识
PO建立和维护产品需求列表(需求会不断新增和改变),并进行优先级排序
PO每轮迭代前,Review需求列表,并筛选高优先级需求进入本轮迭代开发
开发团队细化本轮迭代需求,并按照需求的优先级,依次在本轮迭代完成
开发团队每日站立会议,特性开发、持续集成,使开发进度真正透明
PO对每轮迭代(2--4周)交付的可工作软件进行现场验收和反馈
团队内部进行本轮冲刺的过程回顾,发现可改进的方面;

敏捷工作件

  • 产品backlog(经过优先级排序的动态刷新的产品需求清单,用来指定发布计划和迭代计划)

    好处:

     通过需求的动态管理应对变化,避免浪费;易于优先交付对用户价值高的需求;
    

    关键要点:

     清楚表述列表中每个需求任务对用户带来的价值:作为优先级排序的重要参考;动态的需求管理而非“冻结”方式:PO持续性地管理和及时刷新需求清单,在每轮迭代前,都要重新筛选出高优先级需求进入本轮迭代。迭代的需求分析过程,而非一次性分析清楚所有需求:只对近期迭代要做的需求进行详细分析,其他需求停留在粗粒度;
    


    好的产品功能列表具有DEEP特性:

     详略得当涌现的:目的是适应变化,产生涌现的原因有客户的新想法,竞争对手的行动,意外的技术问题等做过估算排列优先级
    
  • 迭代backlog(迭代backlog是团队在一轮迭代中的“任务”清单,是团队的详细迭代开发计划)

    好处:

    将需求分解成更细小的任务,利于对迭代内进度进行精确控制;剩余工作量可用来实时跟踪团队当前进展;

    关键要点:

     “任务”由团队成员自己分解和定义,而不是上级指派,支撑需求完成的所有工作都可以列为任务;任务要落实到具体的负责人;任务粒度要小,工作量大于两天的任务要进一步分解;用小时作为任务剩余工作量的估计单位,并每日重估计和刷新;
    
  • 完成标准(衡量团队工作的完成标准)

  • 任务看板

  • 燃尽图(Y轴工作,X轴时间,理想情况下,改图是一个向下的曲线)

敏捷管理实践:

迭代计划会议:充分参与、相互承诺、确定内部任务;
迭代执行:规划、管理、执行、沟通工作,以确保创建可工作的、经过测试的特性;
每日立会:昨天做了啥,今天计划干啥,需要啥帮助更加高效的工作;
迭代评审会议:每次迭代开发结束时举行,通过演示可工作的软件检查需求是否满足客户需求;由SM组织,PO和用户代表负责验收、Team负责演示可工作的软件;
迭代回顾会议:哪些做得好,哪些工作还可以做得更好,在下次迭代在哪些方面进行改进;

迭代周期通常为2–4周,对应的规划时间为4–8小时;

敏捷工程实践技术:

用户故事
结对编程
TDD(测试驱动开发):在编写任何代码之前,首先编写定义代码功能的测试用例,编写的代码要通过用例,并不断进行重构华优化,TDD要求测试可以完全自动化运行;
持续集成:
CodeReview:
发布规则

用户故事:

体现客户(用户)价值,轻量级的点位符
3C特质1.卡片(Card),作为XX,我希望XXX,这样可以XXX;2.对话(Conversation):不描述到细节,由团队通过持续性对话细化,激发大家的深度理解;3.确认(confirmation):有明确的验收标准
用户故事级别史诗故事(1--2月)特性故事(1--2周)冲刺故事(1--2天)任务(几个小时):可分工执行

用户故事的标准:

独立
可协商
有价值
可估算
大小合适
可测试

敏捷有哪些改变:

  • 管理者的改变(学会放松“控制”)
  • 团队成员的转变(从被动到主动)

“软件工程”学习笔记、复习资料相关推荐

  1. 软件工程学习笔记《四》需求分析

    文章目录 软件工程学习笔记<目录> 需求工程师 当代的需求工程师需要具备的能力 当代的需求工程师需要努力的方向 当代的需求工程师需要注意的错误 需求的定义 需求目标 需求分析的实质 需求分 ...

  2. 软件工程学习笔记《目录》

    软件工程学习笔记<目录> 软件工程学习笔记<一>什么是软件工程 软件工程学习笔记<二>代码规范 软件工程学习笔记<三>代码优化和性能测试 软件工程学习笔 ...

  3. 软件工程学习笔记《三》代码优化和性能测试

    文章目录 软件工程学习笔记目录 如何在开源社区提问? 代码审查 代码优化 运行结果 参数解释 代码优化原则 对常见的数据结构排序算法进行测试 关于冒泡排序优化的探讨 结果 软件工程学习笔记目录 [ht ...

  4. 软件工程学习笔记《二》代码规范

    文章目录 软件工程学习笔记目录 google代码规范 节选python来自google翻译 错误注释的示例 命名规范 import语句的规范 import this 源码 软件工程学习笔记目录 [ht ...

  5. 软件工程学习笔记《一》什么是软件工程

    文章目录 软件工程学习笔记目录 软件工程过程 软件工程方法 软件质量 软件质量如何评价 软件的质量模型 ISO9126模型 易用性: 效率 可维护性 可移植性 为什么内存缓冲区是2048或4096 软 ...

  6. 分享CFA学习笔记和资料!

    21年最新学习笔记和资料 复制这段内容后打开百度网盘App,操作更方便哦. 链接:https://pan.baidu.com/s/1GPukBzxG6fw8Hz5vyy_Aiw 提取码:rv5r–来自 ...

  7. 中科大软院数据挖掘(LJL)考试回忆+课堂笔记+复习资料

    考试回忆 题型 = 填空+判断+三道大题 填空判断大概就是我的复习资料里记录的那些.大题可太坑了.大题总共有三道,跟我们预测的大相径庭.本来我们觉得会考Aprior/FP-growth + 决策树(C ...

  8. 面向对象软件工程-学习笔记

    面向对象软件工程笔记 该笔记为复习东北大学软件学院复试时整理 第一章 面向对象软件工程概述及范畴 0.软件:软件是计算机系统中与硬件相互依存的控一部分,它是包括程序,数据及其相关文档的完整集合. 1. ...

  9. 卧槽!华为大佬整理的Linux学习笔记和资料不小心流落到了外网.……

    资料汇总截图 一大牛整理了一套初学到进阶的Linux 学习资料,分享给大家 如何学习 如果是刚开始学习C语言的同学,我建议可以深入看下C语言里面的资料.当然了,如果你对自己的C语言比较自信,可以直接看 ...

最新文章

  1. Android程序的反编译对抗研究
  2. 【FICO 汇率】汇率
  3. docker portainer_「实战篇」开源项目docker化运维部署-Portainer管理集群部署(十)...
  4. oracle查询多张表交集,Oracle中对两个数据表交集的查询-专栏,ORACLE
  5. mysql课件_MYSQL讲课时的PPT课件.ppt
  6. open cv+C++错误及经验总结(三)
  7. React :caniuse-lite is outdated. please run next command
  8. 零存整取 VS 定期一本通
  9. 电气技术应用和计算机应用,电气技术应用专业介绍 ppt课件.ppt
  10. 无法连接outlook邮箱服务器,OUTlOOK最近登不上
  11. 计算机随机数字excel,excel怎么生成随机数字 excel随机数字区间怎么设定
  12. Python库资源大全列表
  13. SEM测试线扫与面扫
  14. Weblogic WLS Core Components 反序列化命令执行漏洞复现(CVE-2018-2628)
  15. 匀思电商:抖音短视频四大主流变现方式,你都知道哪些?
  16. 达梦数据库LENGTH_IN_CHAR(对象的长度是否以字符为单位)总结
  17. 网站吊唁效果(黑白)
  18. 个人博客系统之框架搭建
  19. 专门替中国人写的英语语法
  20. 用Cheat Engine无限期体验百度云盘会员提速

热门文章

  1. 计算机信息处理技术的发展历程,中文信息处理技术发展简史.docx
  2. Flask懒加载时 moles.py 无法运行
  3. 【计算机网络实验】停止等待ARQ算法模拟(Python实现)
  4. SAS实验04 ——回归分析
  5. 多项logistic回归系数解释_深入解读Logistic回归结果(一):回归系数,OR
  6. https证书安装部署 https证书怎么安装
  7. 数据结构之2-3 树
  8. 多品种+小批量生产计划方法
  9. 第三届“网鼎杯”官方资格赛圆满结束,问鼎之战即将开启!
  10. Git Tower 3.2 - 最好用的代码管理工具