`
Kingson_Wu
  • 浏览: 123698 次
文章分类
社区版块
存档分类
最新评论

OOAD之软件工程

 
阅读更多
http://blog.csdn.net/mudeer2012/article/details/8249163

在面向对象技术中,实现封装的方式有三种:
第一种是对数据的隐藏,将数据隐藏在方法的背后。
第二种是对实现的隐藏,将实现隐藏在接口背后。
第三种是对变化的隐藏,将变化隐藏于抽象背后。

一、软件工程定义

由于软件系统的规模越来越大,功能越来越多,相应的复杂程度也是越来越高,导致软件开发者难以掌控,也就是软件危机。它的产生促使了软件工程的提出。软件工程就是,用工程学的方法来指导软件开发、产生过程和维护工作。
软件工程的基本思想,就是用工程学的方法进行软件的开发与维护,并对软件生产过程进行工程化的管理。

二、软件工程三要素

软件工程主要包含三个要素:方法、工具和过程。
软件工程方法主要研究软件开发的各项任务的技术方法,为软件开发提供“如何做”的技术,如面向对象,面向过程,面向接口。
软件工具主要研究为运用方法而提供的自动的或半自动的软件工程的支撑环境(即计算机辅助软件工程,CASE)如EA,PD,RR。
软件工程过程主要研究如何将软件工程方法与软件工具相结合,合理、及时地进行软件开发。

三、软件工程六个阶段

1可行性分析阶段

系统分析员在用户的配合下对用户的要求和现有的环境进行深入调查并写出调研报告,从经济可行性、技术可行性、操作可行性、法律可行性等方面研究并论证该项目的可行性,即该项目是否值得去做,是否存在可行的解决办法。
本阶段的主要成果:可行性分析报告。

2需求分析阶段

系统分析员和用户反复讨论和商量,充分交流信息,确定待开发的软件系统“做什么”,确定软件系统的功能需求和非功能需求,用某种方法和工具构件软件系统模型,并编写软件需求规格说明书。
本阶段的主要成果:软件需求规格说明书(Software Requirements Specification,即SRS)。

3系统设计阶段

根据需求分析阶段确定的功能需求和非功能需求,对整个系统进行总体框架设计、详细功能设计和数据库设计等。简单来说,需求分析阶段回答“做什么”的问题,而系统设计阶段要回答“怎么做”的问题。设计阶段又分为概要设计和详细设计。概要设计是以需求分析的结果为依据定义系统的主要构成成分和它们之间的关系。而详细设计是定义每个系统成分内部的构造细节。
本阶段的主要成果:概要设计说明、详细设计说明书、数据库设计说明书。

4系统实现阶段

系统实现阶段,通常也称为编码阶段。本阶段的主要任务:根据详细设计说明书,用某种选定的程序设计语言把详细设计的结果转化成机器可运行的源代码,这是一个编写和调试程序的过程。
本阶段的主要成果:通过单元测试的源代码。

5测试阶段

通过各种软件测试方法和测试工具,使软件的Bug降到最低。
本阶段的主要成果:软件测试报告。

6维护阶段

通过各种必要的维护活动使系统持久地满足用户的需要。
本阶段的主要成果:软件问题报告、软件变动记录、软件维护记录。

四、软件开发的模型及工具

1喷泉模型

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。
该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

2通常使用UML统一建模语言

UML(Unified Modeling Language)是专门用来进行软件系统设计和架构建模的一门可视化建模语言,它通过各种图示展示了软件系统的方方面面。
2.1在UML类图中描述具体类
具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:“+”表示public,“-”表示private,“#”表示protected,不带符号表示default
2.2在UML类图中描述抽象类
抽象类在UML类图中同样用矩形框表示,但是抽象类的类名以及抽象方法的名字都用斜体字表示
2.3在UML类图中描述接口
接口在类图中也是用矩形框表示,但是与类的表示法不同的是,接口在类图中的第一层顶端用构造型<<interface>>表示,下面是接口的名字,第二层是方法
3类之间的关系
一个对象可以持有其它对象的数组或者集合。在UML中,通过放置多重性(multipicity)表达式在关联线的末端来表示。多重性表达式可以是一个数字、一段范围或者是它们的组合。多重性允许的表达式示例如下:
数字:精确的数量
*或者0..*:表示0到多个
0..1:表示0或者1个,在Java中经常用一个空引用来实现
1..*:表示1到多个
关联关系又分为依赖关联、聚合关联和组合关联三种类型。
2.4工具
EA
PD
RR
分享到:
评论

相关推荐

    ooad设计模式软件架构分析资料

    《ooad设计模式软件架构分析资料》集合涵盖了面向对象编程、软件架构、设计模式、软件分析以及UML等多个核心IT领域的经典著作。这些资源对于深入理解软件开发过程、提升设计能力以及优化项目管理具有极高的价值。 ...

    OOAD面向对象编程

    面向对象分析与设计(OOAD)是软件工程领域的一个核心概念,它强调通过模拟现实世界的对象及其相互作用来设计和构建软件系统。OOAD不仅是一种技术,也是一种思维方式,旨在简化复杂系统的开发,提高代码的可读性和可...

    软件工程UML案例

    ### 软件工程UML案例:面向对象分析与设计之深入解读 #### 软件工程概览 软件工程是一门系统化的科学,旨在通过规范的方法和过程,确保软件产品的高质量开发。它涵盖了一系列原则、技术和实践,包括但不限于需求...

    ooad.zip_OOAD

    面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中一种重要的方法论,用于创建复杂系统模型。它强调在软件开发过程中,将真实世界的问题域映射为计算机中的对象,以此来理解和...

    面向对象分析设计 OOAD

    面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中一种重要的方法论,用于创建复杂系统的过程。它强调通过识别和建模现实世界中的对象来理解和解决问题,从而实现软件的高效...

    国防科大 软件工程 课件 面向对象软件工程

    面向对象软件工程是软件开发领域中的一个重要分支,它结合了面向对象编程的思想和软件工程的系统化方法,旨在提高软件的可维护性、可扩展性和可重用性。国防科技大学作为国内顶级的高等教育机构,其在软件工程领域的...

    UML和OOAD快速入门

    **总的来说,UML和OOAD是软件工程中不可或缺的部分,能够帮助开发者构建清晰、可维护的系统模型,从而提高软件开发的效率和质量。通过深入学习和实践,可以更好地掌握这两个领域的精髓,为未来的软件开发工作打下...

    OOAD教师用书(IBM 原厂)word版

    首先,面向对象分析与设计是软件工程领域中的关键步骤,它强调以对象为中心来理解和建模复杂的系统。OOAD的目标是通过分析问题域,创建可复用的、模块化的、易于维护的软件设计。IBM的教师用书将这一过程分解为一...

    OOAD.rar_OOAD

    面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中一种重要的方法论,用于创建复杂系统的过程。它结合了面向对象编程的思想,以提高软件的可维护性、可扩展性和复用性。在这个...

    2020年10月自考02333软件工程试题及答案.pdf

    5. 软件工程方法论:包括面向对象分析与设计(OOAD)、面向服务的架构(SOA)、模型驱动架构(MDA)等。 6. 软件过程:软件开发过程中采用的软件工程实践和标准,比如敏捷开发、统一过程(UP)、极限编程(XP)等。...

    美国硅谷软件工程教育xml+OOAD+Oracle

    【知识点详解】 1. XML(eXtensible Markup Language)是一种可扩展标记...在硅谷的软件工程教育中,这些是基础且重要的组成部分,特别是对于Oracle这样的数据库系统,XML常常用于存储和检索结构化的非关系型数据。

    西安电子科技大学软件工程概论

    1_Why Software Engineering.ppt 2_Modeling the Process and Life Cycle.ppt 3_Planning and Managing the Project.ppt 5_Structured Analysis and Design.ppt 6_1_UML.ppt ...软件工程概论实践教学.doc

    西北农林科技大学OOAD实验.rar

    这个实验可能是面向信息学院的学生,特别是学习软件工程、计算机科学或相关专业的学生。 【描述解析】 描述中的"三个实习大作业,希望西农信息学院的孩子们参考使用"意味着该压缩包包含了三个完整的实习项目,这些...

    西北农林科技大学ooad实验-网上购物商城

    在信息技术日益发达的今天,软件工程中的面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)成为了开发复杂系统的重要方法。本实验以“西北农林科技大学”的网上购物商城为例,通过一系列的UML...

    软件工程之分析设计

    ### 软件工程之分析设计 #### 一、软件工程之分析设计概述 软件工程是一种将系统化、规范化的管理方法应用于软件的开发、运行和维护的过程,目的是提高软件的质量和生产效率。其中,分析设计是软件工程的重要组成...

    C++OOAD的设计原则

    OOAD 设计原则是软件工程领域中非常重要的组成部分,它们旨在帮助开发者创建灵活、可维护和可扩展的软件系统。本文将详细介绍 LSP、OCP、SRP、ISP 和 DIP 这五大设计原则,并结合 UML 图表进行说明。 #### 1. LSP:...

    OOAD与UMLpdf文件

    **OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,它们在现代软件工程中起着至关重要的作用。面向对象编程思想的引入,使得复杂系统的构建变得更加模块化、可维护和可扩展。UML作为...

    OOAD课堂练习作业和代码

    4. **软件工程实践** - **需求分析**:明确理解项目目标,收集和分析用户需求。 - **系统设计**:根据需求规划整体架构,包括模块划分和接口设计。 - **编码实现**:依据设计文档编写代码,遵循良好的编程规范。 ...

    笔试题 Linux、Oracle、XML、OOAD

    4. **OOAD(Object-Oriented Analysis and Design)**:面向对象分析与设计是软件工程中的一种方法论,用于构建复杂软件系统。OOAD强调用对象来表示现实世界中的实体和它们之间的关系。它包括概念如类、对象、接口、...

Global site tag (gtag.js) - Google Analytics