面向对象软件工程包括以下几个部分很多人对这个问题比较感兴趣,下面让我们一起来看面向对象的软件工程包括吧,希望可以帮助到你。
面向对象开发方法包括OOA、OOD、OOP三部分。
1、OOA
Object-Oriented Analysis:面向对象分析方法。OOA是指在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别,OOA强调在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
2、OOD
面向对象设计(Object-Oriented Design,OOD)方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。面向对象设计(OOD)是一种软件设计方法,是一种工程化规范。这是毫无疑问的。按照Bjarne Stroustrup的说法,面向对象的编程范式(paradigm)是【Stroustrup,97】。
3、OOP
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
《面向对象软件工程》分为两个部分:第一部分介绍了面向对象软件工程的基本理论;第二部分以工作流的形式介绍了软件生命周期。
《面向对象软件工程》特色
●包括面向对象生命周期模型、面向对象分析、面向对象设计,以及面向对象软件的测试和维护。
●讨论了文档、维护、复用、可移植性、测试和CASE工具等的重要性。
●包括了能力成熟度模型(CMM)和人员能力成熟度模型(P-CMM)的内容。
●与语言无关。实例代码对于C++和Java语言背景的读者同样清晰。
●包括600余篇当前热点研究文章、经典文献和书籍的参考文献。
●包含2个哪凳用于说明完整软件生命周期的运行实例,还有7个较小的实例,分别用于突出说明特定的主题。
●包括5种类型的习题,分别是概念理解、项目分析、课程设计、论文研读和实例修改。
面向对象软件工程方法具有下述4个特点:燃岩
(1) 把对象作为融合了数据及在数据上的操作行为的统一软件构架,用对象分解取代了传统方法的功能分解
(2) 把所有对象都划分为类。每个类定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义
(3) 按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。下层派生类自动拥有上层基类中定义的数据和操作,李段旅这种现象称为继承
(4) 对象彼此之间仅能通过发送消息互相联系,对象的所有私有信息都被封装在该对象内,不能从外界直接访问,这就是封装性
简单肆旁衫来说,主要包含:面向对象启余的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)三个步骤。整个步骤以对象和类的分析为主线,前一步骤分析设计的类,往往在后一步骤中被细化或完裂腔善。
软件开发的过程:
1、需求分析(25-30%):在面试时说明自己参与了某个项目的某个模块从需求到设计到开发的所有过程,
一定客户签字认可,在合同中要说明验收时以需求说明书的内容为准,
若有改动,需与商务另行商议。
成果:
需求说明书,具体内容如下:
demo(界面原型):需求的可视化
需求特征列表:简要的说明系统的功能,确定优先级及风险度
用例图:说明系统整体的功能
角色:
角色:系统的参与者
用例:一个功能
系统边界:功能范围
关系:
角色与角色:泛化(实线+三角)
用例与用例:
扩展:---extend-->可用可不用
包含:---include---->必须调用
角色与用例:调用(实线+箭头)
用例说明:
1、用流程图(活动图)说明
开始
结束
判断
分支
泳道
汇集
2、写用例说明文档,其有六大元素
功能描述
参与者
前置条件:前提
后置条件:结果
基本流:最正常的情况
扩展流:可能及出斗樱错的情况
2、整体设计空行丛(20-30%)
1、分析业务流程
bbs
登陆注册
浏览、发新帖、回复
短消息
用户管理
版块管理
帖子管理
2、根据业务设计业务实体及类图
讨论区(1) 版块(0..n)
版块(1) 主帖(0..n)
主带颂帖(1) 回帖(0..n)
用户(1) 帖子(主帖、回帖)(0..n)
用户(1) 消息(0..n)
e-r图的的过程
1、外模型:根据业务找业务实体,与具体技术无关
2、概念模型:与具体的技术整合在一起
过程:
找实体
拉关系
写属性
三级范式:
有主键(projectID employeeID)
projectID projectName employeeID empoyeeName position hourSalary workHours
完全依赖于主键
projectID projectName
employeeID empoyeeName position hourSalary
projectID employeeID workHours
不出现传递依赖
projectID projectName
employeeID empoyeeName position
position hourSalary
projectID employeeID workHours
类图:
角色:
接口
类
关系:
继承:实线+三角
依赖:虚心+箭头
实现接口:虚心+三角
关联:实线+箭头
聚集:实线+空心菱
组成:实线+实心菱
3、确定项目的技术框架
框架设计的原则:上层依赖于下层,尽量减少下层对上层的
依赖,层与层之间通过接口调用。
模式的目的:提高代码的可扩展、可维护性
模式的原则:增加开放,修改关闭,面向接口抽象类编程
常用的模式:
最好画图
simplefactory:简单工厂,有三个角色
工厂:产生具体产品返回抽象产品
抽象产品:一个接口或抽象类
具体产品:具体的实现
增加一个产品时不用修改客户端,只需修改工厂,
如果用了返回,就不用修改工厂,只需修改配置,spring
用的就是返射,是超级工厂。
单例:整个虚拟机中只有一个实例。三大特征:
1、私有所构造子
2、私有的静态属性
3、公有的静态方法,对象为空时产生一个新的,
不为空直接返回
代理:代理与真实对象实现的是同一接口,将真实对象作为代理的属性
向客户端公开的代理,客户端调用代理的方法时,代理找到真实对
象,调用真实对象方法,在调用之前之后可以提供事务、日志、安
全等服务。
模板:父类提供抽象方法及具体方法,具体方法调用抽象方法,
抽象方法由子类实现,向客户端公开的子类,客户端通过
父类的具体方法调用子类实现的抽象方法,为子类
提供服务。
装饰:有三个角色,通用接口,本原,装饰,将通用接口聚集到
装饰中,所在可以将本原或装饰通过构造子注入到另一个装饰中,
装饰可以有很多子类,可以将本原或装饰通过构造
子注入到另一个装饰中,将多个装饰的功能随意组合。
轻量级的框架
jsp&servlet&dao&jdbc:用的model2,速度是最快的,开发效率不高。
M:
facade&dao&jdbc
C:
serlvet
V:
jsp
通过jsp将请求发给servlet,servlet通过
FacadeFactory产生具体的Facade返回一个IFacade接口,通过IFacade接口
调用Facade的具体方法。
Facade通过dao的抽象工厂产生具体的工厂,通过具体的工厂产生具体的dao,
返回dao接口给业务层。
Facade执行完后将结果返回给servlet,servlet转发到下一个页面。
Servlet用了模板模式可以提供错误处理、事务、页面跳转的服务。
struts&dao&hibernate:速度较快,因为我们要自己实现工厂,并不是所有的一切
都是返射,相对spring来说速度更快一些。
struts:
mvc,请求处理过程
用一个模板模式提供通用错误、事务、跳转服务。
将IFacade接口作业其属性,通过FacadeFactory工厂产生具体的Facade
返回一个Facade接口。
facade
IFacade接口
Facade实现类
FacadeFactory:facade工厂
dao接口作为Facade的属性,通过AbstractFactory调用具体的DaoFactory
产生具体的dao实例,返回dao接口。
dao:
dao
daoImpl
DaoFactory:产生daoImpl实例,返回dao接口
AbstractFactory:通过返射、工厂、单例产生具体的DaoFactory,返回
AbstractFactroy,因为具体的工厂继承于抽象的工厂,客户端
调用的还是具体工厂方法。
hibernate
核心类
核配置文件
struts&spring&hibernate/ibatis:这是当前最通用、最快速、藕合度最低的开发方式
但也有一个问题spring一切都是返射,速度慢。
struts/hibenate/ibatis要解析xml文件、要大量用到返射,所以速度慢。
一般适合于中小型系统(并发量<500),大型系统有些不适合需要调整。
struts已是MVC
spring是一个超级工厂,在spring中配置的都是实现类,在代码中得到都是接口。
hibenate/ibatis是o/r Mapping
框架结构:
struts:
mvc
请求处理过程
在spring中加入bean标签,配置具体的action,通过set方法将Facade代理
注入到action的IFcade接口中。
Facade
IFacade接口
Facade实现类
在applicationContext.xml配置具体的Facade类,在配置Facade的Aop服务时,
先配置抽象代理AbstractProxy其是TransactionProxyFactoryBean,说明装备
TransactionManager,说明连接点TransactionAttributes。再配置具体的
代理,继承于AbstractProxy,通过target指向真实的对象。
通过set方法注入将具体的Dao注入到Facade的Dao接口属性中。
Dao
dao接口
dao的实现 extends HibernateDaoSupport/SqlMapClientSupport
在applicationContext.xml中配置具体的dao,向Facade返回dao接口。
hibernate
在applicationContext.xml中配置dataSource、sessionFactory,
通过set方法注入将sessionFactory注入到dao实现类中。
ibatis:
在applicationContext.xml中配置dataSource、sqlMapClient,
通过set方法注入将sqlMapClient注入到dao实现类中。
3、详细设计
对于开发能力比较强的团队,可以不做详细设计。
时序图:
作用:找类、找方法、验证系统的正确性
元素:
纵轴:时间、对象的生命周期
横轴:说明对象与对象的交互
4、编码(25-30%)
5、测试(10%)
BAIRUN的中文名是百润,百润是中国的品牌。十大香精香料品牌,始于1997年,上市公司,致力于食用香精和烟用香精的研发与生产的综合型企业上海百润投资控股集团股份有限公司,始创于1997年6月,是...。BAIRUN的中文名是百润,百润是中
2024-02-26蜜诗肌护手霜全套颜值都很高,可以深度滋润我们的双手,秋冬季节没有护手霜怎么行,这一套有6种味道,分别是酸甜草莓、惬意葡萄、青涩青柠、优雅苹果、清香西柚、甜蜜水蜜桃。果香味道浓郁,可以滋润双手的同时还有保湿,防止手干裂,一套可以全家一起用,家
2024-02-26新良XINLIANG新良集团是以优质小麦精深加工为主,以高中档食品专用面粉为特色,以大型食品企业、连锁饼房为市场主体,以烘焙食品技术研发服务为一体的...。新良是中国品牌。新良XINLIANG新良集团是以优质小麦精深加工为主,以高中档食品专
2024-02-26日本蕾野香水10ml的试管香水量少绝对够用!放在包包里也很方便,而且颜值不认输,简约轻奢冷淡风的包装真的是最爱的包装,它的香水种类有23种不同的香型。现在出门就算忘记喷香水也没关系啦,放在包包里也不占地方,想什么时候身上香香的都可以啦。入了
2024-02-26这套蜜思肤七日心机面膜本人是2个2个混用的,先用玫瑰做清洁,里面含有法国蔷薇花提取物和玫瑰花瓣,上脸一点也不干,敷完后皮肤光滑干净了很多,整个毛孔都被清理通啦,再用复活草做个补水,复活草的补水效果真的非常棒,而且不光是补水还会锁住水分,长久
2024-02-26Primy的中文名是普乐美,普乐美是中国的品牌。郑州春晟装饰新材料科技股份有限公司成立于2011年,是一家专业研发、生产、销售高品质预拌干混砂浆及相关产品并为客户提供延伸增值服务的新型建材科技...。Primy的中文名是普乐美,普乐美是中国
2024-02-26大朴释压网格枕头枕上也太舒服了,它是TPE高弹体材质像果冻一样Q弹,1330个三角形睡上面也不会压出三角形的印子真是太神奇了,不愧是助眠黑科技,翻来覆去也不变形。枕上也很透气,三角形空隙挤压的空气清爽透气,而且它还有波浪形的设计贴合脖颈,支
2024-02-26T-MORO是百丽集团旗下童鞋品牌集合专场,合作伙伴遍布全球。目前与miffy(米菲)、Disney(迪士)、Barbie(芭比)、Syunsoku(瞬足)、HelloKitty(凯...。T-moro是儿童皮鞋小型品牌。T-MORO是百丽
2024-02-26京儿肤乐霜这个是以植物萃取物为原料,而且额外添加生育酚等活性成分,而这些成分就是有利于皮肤的补水修护的,加上了解到这个产品承诺0激素、0香精等十大无添加,所以自然放心让二宝使用一下。它是乳白色的细腻膏体,很清凉的薄荷味,而且吸收也挺快的,所
2024-02-26这个滋食薯片属于网红食品,一下子被它征服了,它的口感很好,脆脆的,而且毫无油腻感。它是采取非油炸工艺的,低脂低热很健康。它还添加了益生菌成分,维生素B也有,这个是我想不到的,最重要的是居然有是混搭口味,酸奶洋葱味和香草冰淇淋,一袋薯片两种味
2024-02-26这个法国树予锦葵高保湿精华露,这是一个法国的小品牌。滴管似的瓶口真的是深得我心,取量的时候超级方便,一般滴两滴就够了。精华是啫喱质地,但流动性很强,上脸不会有油腻感。早上涂上精华,一整天下来脸都不会干,而且上妆也超级服帖;味道也是超级好闻的
2024-02-26左师傅MASTERZUO左师傅摩托隶属于属于重庆宗申动力机械股份有限公司,而重庆宗申动力机械股份有限公司是宗申产业集团的核心子公司, 2003年通过资产重...。左师傅MASTERZUO是中国品牌。左师傅MASTERZUO左师傅摩托隶属于属
2024-02-26