第一章
1.0引言,
工程的目的是服务社会,满足社会生活和生产需要。工程的特点有系统性,复杂性,交叉性和综合性。
1.1软件及其发展
1.1.1软件的特征,
1.1.2软件的分类,
软件按应用功能分类,可以分为系统软件,支持软件和应用软件,按服务对象的范围分类,可以分为项目软件和产品软件,
1.1.3软件发展与软件危机,
1.2软件工程,
软件工程的性质是指导软件开发和维护的工程性学科,软件工程的理论基础有计算机科学,管理科学和数学的,软件工程的目的是以期用较小的代价获取高质量的软件,
软件工程有7条基本原理,
- 用分阶段的生命周期计划严格管理,
- 坚持进行阶段评审,
- 实行严格的产品控制,
- 采纳现代程序设计技术,
- 结果应能清楚的审查,
- 开发小组的人员应该少而精,
- 承认不断改进软件工程实践的必要性,
1.3软件生存周期,
软件生存周期过程规定了获取供应开发操作和维护软件时,要实施的过程活动和任务,
1.4常用软件生存期模型,
瀑布模型,分为计划时期,开发时期和运行时期,计划时期有可行性研究项目实施计划,开发时期有需求分析,概要设计,详细设计和编码,运行时期有测试和维护,步步模型的特点是各阶段顺序相互依赖,每阶段进行评审强调需求分析和设计,
原型模型,原型模型的特点有快速开发,通过用户反馈和逐步完善原型等特点,原型模型的不足是不宜利用原型系统作为最终的产品,并且圆形模型的快速特点对于最终系统不适应,
Rad模型,Id模型将开发人员分成多个小组,每个小组各自走一套相同的流程,有业务建模,数据建模,处理,建模应用生成测试。RAD模型的特点有顺序开发和强调极短的开发周期,RAD模型的不足,有技术风险很高的情况不适合采用,需要足够的人力创建rad小组,开发者和用户需要在很短的时间内完成开发,
增量模型,逐步增加软件产品的方式构造软件,
螺旋模型,螺旋模型既保持了传统生命周期模型中系统的阶段性方法,又将迭代演化的思想吸收到模型中,适合大型软件的开发,螺旋模型的不足,螺旋模型要求开发人员擅长风险分析,因为螺旋模型是风险驱动的,
Rup模型,Rup模型是用例驱动的,以体系结构为中心迭代增量式开发,
其他模型,如极限编程模型,构建组装模型,簇模型,喷泉模型,智能模型等等,
1.* 敏捷软件开发过程,
现代软件开发有一系列的问题,如需求变化快工程周期短等等
敏捷宣言,个体和合作强于模型和工具,软件强于文档, 合作强于合同,响应变化而不是遵循计划,
敏捷原则,
- 初期交付的软件越早,后期软件的质量越高,
- 即使是在开发的后期也欢迎需求改变
- 应交付可以工作的软件,而不是文档,
- 强调开发人员与业务人员之间有意义的,经常的交流,
- 强调人是软件开发的重要因素,强调团队中人的积极性,
- 团队间最有效的交流是面对面交流,团队之间要相互信任,
- 不依据开发阶段来估量进度,要从客户的角度来,
- 强调长期稳定的开发速度有利于客户和开发者,
- 提高团队个体的技能是提高团队总体素质的关键,
- 好的设计是符合需求的设计,当设计不合理时应加以改变,
- 强调当下不扩大今天工作的范围,简单才能专注
- 自组织的团队是自我决定的团队团队的成员没有角色的区分,
- 反省决定敏捷团队的敏捷性,
极限编程,极限编程的4个原则是,交流,简单,勇气
极限编程的过程包括4个阶段,计划迭代测试和发布,
敏捷软件开发中的一些过程,站立式会议,代码集体所有,测试驱动软件开发tdd,结对编程,重构代码,等等等等,
Scum过程,在敏捷软件开发中,Scum是一种迭代增量式的开发过程,有快速自组织和有适应性等特点,
Scum过程中主要有4种图表,产品代办事项表,冲刺代办事项表,冲刺燃尽图,发布燃尽图,
Scrum会议,由scum主管来主持,包括冲刺计划会每日战例会冲刺评审会议冲刺反思会,
mlgb不想写了
1.5软件工程标准,
标准的表示有国家标准代号和行业标准代号,比如GB代表国标,JB代表机械方面的行业标准代号,XD
软件工程标准层次有5个层次,分别是国际标准,国家标准,行业标准,企业规范 、项目规范
1.6软件开发方法
一般来说,软件开发方法必须在以下三个方面作出规定,开发步骤,文档格式,开发方案评价标准,主要的软件开发方法有结构化方法,面对对象方法、形式化方法,
结构化方法,
程序等于数据结构加算法,软件等于程序加数据,
迪杰斯特拉建议勾吐语句应该从高级语言中去掉,只用顺序循环选择三种基本控制结构就可以写任何程序,
结构化方法的指导思想是自顶向下逐步求精,单入口/单出口三种控制结构,
结构化方法的基本原则是抽象和功能分解,
方法论是系统是由一些功能的相互联系,相互作用而形成,
结构化方法的不足有,复用代码困难,不适合大规模的项目,难以适应需求模糊变化的情况,软件维护复杂,
面对对象方法,
面对对象方法的指导思想是,尽可能模拟人类习惯的思维方式,使得开发软件的方法与过程,尽可能接近人类认识世界的方法。
面向对象方法的基本原则,对象+类+继承+消息通信
面对对象方法的方法论,系统是由一些对象的相互联系,相互作用而形成的,
针对对象方法的特点,更容易理解,更加稳定,更加容易学习,比较容易处理需求模糊变化的情况,便于代码重用,对于代码维修,适合迭代增量式的方法,
形式化方法,
形式化方法的指导思想,借助数学方法来描述目标软件系统,
基本原则,形式分析和推理,
方法论,系统可以通过严格的规范的数学理论,经分析推理和转换得到,
形式化方法的特点,形式模型完整一致,无二意性,可靠性提升,便于软件自动生成,支持形式推理,便于软件验证,
1.7软件工程工具和环境,
软件工具可以分为,软件开发工具,软件维护工具,软件重构工具,软件管理和支持工具,集成化软件开发环境,
1.8软件文档,
文档是指某种数据媒体和其中所记录的数据,
文档的作用,提高了软件开发过程的可视性,有利于及时纠正错误,减少返工,提高软件开发的效率,为开发人员,管理人员以及用户之间的协作和交流提供了基础,
文档的要求,及时性,完整性,实用性,规范性,
软件文档按照生产和使用的范围不同可以分为,技术文档,管理文档,用户文档,
软件文档的编写步骤有,准备工作,确定写作内容,编写定稿,更新完善,
本文概述了软件工程的基础知识,包括软件的特征、分类和发展,重点介绍了软件生存周期的不同模型如瀑布、原型、敏捷等,并探讨了各种软件开发方法,如结构化、面向对象和形式化方法。此外,还提到了软件工程的标准和工具的重要性。
210

被折叠的 条评论
为什么被折叠?



