软件工程基础复习_1

第一章

1.0引言,

工程的目的是服务社会,满足社会生活和生产需要。工程的特点有系统性,复杂性,交叉性和综合性。

1.1软件及其发展

1.1.1软件的特征,

1.1.2软件的分类,

软件按应用功能分类,可以分为系统软件,支持软件和应用软件,按服务对象的范围分类,可以分为项目软件和产品软件,

1.1.3软件发展与软件危机,

1.2软件工程,

软件工程的性质是指导软件开发和维护的工程性学科,软件工程的理论基础有计算机科学,管理科学和数学的,软件工程的目的是以期用较小的代价获取高质量的软件,
软件工程有7条基本原理,

  1. 用分阶段的生命周期计划严格管理,
  2. 坚持进行阶段评审,
  3. 实行严格的产品控制,
  4. 采纳现代程序设计技术,
  5. 结果应能清楚的审查,
  6. 开发小组的人员应该少而精,
  7. 承认不断改进软件工程实践的必要性,

1.3软件生存周期,

软件生存周期过程规定了获取供应开发操作和维护软件时,要实施的过程活动和任务,

1.4常用软件生存期模型,

瀑布模型,分为计划时期,开发时期和运行时期,计划时期有可行性研究项目实施计划,开发时期有需求分析,概要设计,详细设计和编码,运行时期有测试和维护,步步模型的特点是各阶段顺序相互依赖,每阶段进行评审强调需求分析和设计,
原型模型,原型模型的特点有快速开发,通过用户反馈和逐步完善原型等特点,原型模型的不足是不宜利用原型系统作为最终的产品,并且圆形模型的快速特点对于最终系统不适应,
Rad模型,Id模型将开发人员分成多个小组,每个小组各自走一套相同的流程,有业务建模,数据建模,处理,建模应用生成测试。RAD模型的特点有顺序开发和强调极短的开发周期,RAD模型的不足,有技术风险很高的情况不适合采用,需要足够的人力创建rad小组,开发者和用户需要在很短的时间内完成开发,
增量模型,逐步增加软件产品的方式构造软件,
螺旋模型,螺旋模型既保持了传统生命周期模型中系统的阶段性方法,又将迭代演化的思想吸收到模型中,适合大型软件的开发,螺旋模型的不足,螺旋模型要求开发人员擅长风险分析,因为螺旋模型是风险驱动的,
Rup模型,Rup模型是用例驱动的,以体系结构为中心迭代增量式开发,
其他模型,如极限编程模型,构建组装模型,簇模型,喷泉模型,智能模型等等,

1.* 敏捷软件开发过程,

现代软件开发有一系列的问题,如需求变化快工程周期短等等
敏捷宣言,个体和合作强于模型和工具,软件强于文档, 合作强于合同,响应变化而不是遵循计划,
敏捷原则,

  1. 初期交付的软件越早,后期软件的质量越高,
  2. 即使是在开发的后期也欢迎需求改变
  3. 应交付可以工作的软件,而不是文档,
  4. 强调开发人员与业务人员之间有意义的,经常的交流,
  5. 强调人是软件开发的重要因素,强调团队中人的积极性,
  6. 团队间最有效的交流是面对面交流,团队之间要相互信任,
  7. 不依据开发阶段来估量进度,要从客户的角度来,
  8. 强调长期稳定的开发速度有利于客户和开发者,
  9. 提高团队个体的技能是提高团队总体素质的关键,
  10. 好的设计是符合需求的设计,当设计不合理时应加以改变,
  11. 强调当下不扩大今天工作的范围,简单才能专注
  12. 自组织的团队是自我决定的团队团队的成员没有角色的区分,
  13. 反省决定敏捷团队的敏捷性,

极限编程,极限编程的4个原则是,交流,简单,勇气
极限编程的过程包括4个阶段,计划迭代测试和发布,
敏捷软件开发中的一些过程,站立式会议,代码集体所有,测试驱动软件开发tdd,结对编程,重构代码,等等等等,
Scum过程,在敏捷软件开发中,Scum是一种迭代增量式的开发过程,有快速自组织和有适应性等特点,
Scum过程中主要有4种图表,产品代办事项表,冲刺代办事项表,冲刺燃尽图,发布燃尽图,
Scrum会议,由scum主管来主持,包括冲刺计划会每日战例会冲刺评审会议冲刺反思会,
mlgb不想写了

1.5软件工程标准,

标准的表示有国家标准代号和行业标准代号,比如GB代表国标,JB代表机械方面的行业标准代号,XD
软件工程标准层次有5个层次,分别是国际标准,国家标准,行业标准,企业规范 、项目规范

1.6软件开发方法

一般来说,软件开发方法必须在以下三个方面作出规定,开发步骤,文档格式,开发方案评价标准,主要的软件开发方法有结构化方法,面对对象方法、形式化方法,

结构化方法,

程序等于数据结构加算法,软件等于程序加数据,
迪杰斯特拉建议勾吐语句应该从高级语言中去掉,只用顺序循环选择三种基本控制结构就可以写任何程序,
结构化方法的指导思想是自顶向下逐步求精,单入口/单出口三种控制结构,
结构化方法的基本原则是抽象和功能分解,
方法论是系统是由一些功能的相互联系,相互作用而形成,
结构化方法的不足有,复用代码困难,不适合大规模的项目,难以适应需求模糊变化的情况,软件维护复杂,

面对对象方法,

面对对象方法的指导思想是,尽可能模拟人类习惯的思维方式,使得开发软件的方法与过程,尽可能接近人类认识世界的方法。
面向对象方法的基本原则,对象+类+继承+消息通信
面对对象方法的方法论,系统是由一些对象的相互联系,相互作用而形成的,
针对对象方法的特点,更容易理解,更加稳定,更加容易学习,比较容易处理需求模糊变化的情况,便于代码重用,对于代码维修,适合迭代增量式的方法,

形式化方法,

形式化方法的指导思想,借助数学方法来描述目标软件系统,
基本原则,形式分析和推理,
方法论,系统可以通过严格的规范的数学理论,经分析推理和转换得到,
形式化方法的特点,形式模型完整一致,无二意性,可靠性提升,便于软件自动生成,支持形式推理,便于软件验证,

1.7软件工程工具和环境,

软件工具可以分为,软件开发工具,软件维护工具,软件重构工具,软件管理和支持工具,集成化软件开发环境,

1.8软件文档,

文档是指某种数据媒体和其中所记录的数据,
文档的作用,提高了软件开发过程的可视性,有利于及时纠正错误,减少返工,提高软件开发的效率,为开发人员,管理人员以及用户之间的协作和交流提供了基础,
文档的要求,及时性,完整性,实用性,规范性,
软件文档按照生产和使用的范围不同可以分为,技术文档,管理文档,用户文档,
软件文档的编写步骤有,准备工作,确定写作内容,编写定稿,更新完善,

你可能感兴趣的:(复习,软件工程师)