软件工程定义:
概括的说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程化的方法来开发和维护软件,把经过实践考验而证明正确的工程管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它。这就是软件工程。
软件工程的内容:
针对软件生命周期全过程及其每个具体阶段的工程方法、技术细则、文档规范、管理制度、人员组织以及质量保证体系等。每个软件开发者必须按工程的统一要求行事,不能随意地自由发挥。每个开发阶段都要产生健全的、符合工程规范的文档。软件产品是这些文档的总合,而不仅仅是程序。
软件工程三要素:
方法:(面向对象方法)完成软件开发的各项任务的技术方法,为软件开发提供“如何
做”的技术
工具:(EA)为运用方法而提供的自动的或半自动的软件工程的支撑环境
过程:(基于原型的增量迭代软件开发工程)为了获得高质量的软件所需要完成的一系列
任务的框架,它规定了完成各项任务的工作步骤,如何将软件工程方法与软件工具
相结合,合理、及时地进行软件开发
统一建模语言UML:
IBM公司的统一建模语言UML称为了业界认同的统一建模语言
统一建模语言是专门用来进行软件系统设计和构架建模的一门可视化建模语言,它通过各种图示展示了软件系统的方方面面
UML:
·流程图:
·用例图:
·时序图:
·类图:
1、符号:-表示private,+表示public 属性名 : 属性类型(如果是抽象类或者抽象方法,字体用斜体表示)
2、工具
(1)EA:自动产生代码
(2)Power Designer:er图,自动产生数据库
(3)Rational Rose
面向对象设计原则:
1、首要的标准:
·满足软件的功能需要
·满足软件功能需求的设计并不一定就是好的设计
2、好的设计s
·可读性---其他人是否能轻易理解
·可复用性---软件系统的架构、类、组件等是否容易被复用
·可扩展性---软件面对需求变化时,功能或性能扩展的难易程度
·可维护性---软件维护(主要是指软件错误的修改、遗漏功能的添加等)的难易程度
3、--内聚度:
--耦合度:表示类之间关系的紧密程度
设计原则:
高内聚,低耦合是所有优秀软件的共同特征
·单一职责原则
·开闭原则
·里氏替换原则
·依赖倒转原则
·接口隔离原则
·组合/聚合复用原则
·迪米特法则