软件工程学习通分组任务
第一章重点|软件工程方法学
截止时间: 04-01 10:55
1.2.3 软件工程方法学
软件工程包括技术和管理两方面的内容。
管理:通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。(详见第13章 软件项目管理问题)
技术(软件工程方法学):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。
软件工程方法学3要素:
方法:是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;
工具:是为运用方法而提供的自动的或半自动的软件工程支撑环境;如,CASE(Computer-Aided Software Engineering )工具
过程:需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件工程方法学:
\1. 传统方法学(生命周期方法学或结构化范型)——强调自顶向下
采用结构化技术来完成软件;
划分为若干个阶段,然后顺序地完成每个阶段的任务;每个阶段的任务相对独立,而且比较简单,降低了整个软件开发工程的困难程度;
前一个阶段是后一个阶段的前提和基础,而后一阶段提出的解法更具体,细节更多;
每个阶段结束前必须从技术和管理两方面对这个阶段的开发成果进行严格的检查,通过之后这个阶段才算结束;保证质量,提高可维护性;
缺点:
当软件规模庞大,或者对软件的需求是模糊的或会随时间变化而变化的时候,使用传统方法学开发软件往往不成功
使用传统方法学开发出的软件,维护起来仍然很困难。
数据与操作相分离
\2. 面向对象方法学——强调主动地多次反复迭代
面向对象方法:把数据和行为看成同等重要,它是一种
以数据为主线,把数据和对数据的操作紧密地结合起来
的方法。
面向对象方法学4个要点:
对象(object):融合了数据及在数据上的操作行为。
类(class):类是对具有相同数据和相同操作的一组相似对象的定义。
继承:按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。
消息:对象彼此间仅能通过发送消息互相联系。
面向对象方法学的优点:
面向对象方法学的尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。
面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程,保证了在各项开发活动之间的平滑过渡。
促进了软件重用。最终的软件产品由许多较小的、基本上独立的对象组成,每个对象相当于一个微型程序,而且大多数对象都与现实世界中的实体相对应,降低了复杂性,提高了可理解性,简化了开发和维护工作。
小组学习讨论题:
- 传统方法学与面向对象方法学的概念、特点、区别与应用。
- 分别列举1-2个传统方法学和面向对象方法学实例。
- 当下有哪些常用软件工程方法,并列举1-2个实例。
课外阅读与文档书写:《系统规模和目标报告书》
截止时间: 03-31 21:55
查阅2-3个正规《系统规模和目标报告书》样本,并于第5周完成小组项目规模和目标报告书。
软件工程文档学习
截止时间: 04-09 21:54
1.国内外软件工程标准及网站资料学习
2.软件生命周期各阶段中的文件编制:测试分析报告(第12组)
系统流程图与数据流图分别是什么及其区别?
截止时间: 04-09
实验小组大作业1|软件规格说明书
截止时间: 04-22 09:56
请依照国家(际)软件需求规格说明标准文档规范,结合本组选题,完成本组项目需求规格说明书文档。(英文版本有加分)