预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共68页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

任我学IT——职训实操平台专家 www.renwoxue.net www.renwoxue.net 面向对象分析(OOA) 软件工程 -面向对象程序设计与UML系统分析 分析与设计 设计思维-SA/SDvs.Object-Oriented 分析设计的”方法”www.renwoxue.net 面向对象分析阶段(OOA) 建立Use-Case模型(Use-CaseModeling) 建立分析模型(ConceptualModeling) 另一种OOA技术-CRCCards 总结 需求阶需求文规格文件www.renwoxue.net 段件分析阶段基于特定技术 实现阶 设计阶段设计文件,包括详细设计 段 文件的演进:由高阶到低阶(宏观到微观) 分析阶段的重点:规格文件的建立(通常基于特定技术) 比起需求文件,规格文件必须以更正式、更严谨、 更有系统的方式来呈现: 避免任何不完整与矛盾的叙述 www.renwoxue.net 可能为双方制订契约时的重要参考文件 明确地描述出该产品所必须完成的事项 例如:为了满足某项需求,系统或软件本身必 须达成哪些功能或满足某些条件(如:效率)。 重点在勾勒出需完成的事项,但不需涉及到 如何完成这些事项的细节(tellwhat,nothow)。 www.renwoxue.net 通常基于特定之分析技术 不论是结构化分析设计(StructuredAnalysis&Design– SA/SD)或面向对象分析设计(Object-OrientedAnalysis& Design–OOA/D),分析阶段与设计时间所采用之技术 通常要能够互相搭配,如:一致的图形表示方式。 正规的方法 有限状态机(FiniteStateMachine) Petrinetswww.renwoxue.net 半正规的方法(介于正规非正规之间) 实体关系模型(Entity-RelationshipModeling) 结构化系统分析(StructuredSystemAnalysis) 面向对象分析(OOA)–这里重点 非正规的方法 自然语言 注:此分类方式参考自”Classicaland Object-OrientedSoftwareEngineeringWith UmlandJava”(byStephenR.Schach)一书。 不同的技术直接反映了文件的呈现方式 正规的方法 www.renwoxue.net 精确度高 有利正确性(Correctness)的理论 证明 较严谨 可降低后期开发成本(错误率低!) 不易学习、难以使用 难以跟客户端沟通 非正规的方法(自然语言) 易学易用 容易跟客户端沟通www.renwoxue.net 无法对规格文件有精确的描述,易造成文件的 不完整、混淆以及矛盾等问题。 半正规的方法 比较折衷的技术,例如: 实体关系模型(ERM) 面向对象分析(OOA) 答案是否定的! 事实上,早期大多数成功的案例,皆采用 了SA/SD技术(非面向对象)。www.renwoxue.net 但随着软件规模的日益膨胀,早期的方法 (SA/SD)似乎不再能应付日趋复杂的软件需 求?! 长久以来验证的结果,面向对象技术似乎 更适用于现今的软件需求! 根本差异:设计的思维~ www.renwoxue.net SA/SD: 「数据」与「处理程序」分开思考 OOA/D: 「数据」与「处理程序」一起思考 资料:程序运作时所需之数据结构 局部变量、全局变量、动态数据、档案… 等www.renwoxue.net 处理程序:程序运作(执行)之指令片段 通常称为函式(Function);同义词:程序 (Procedure/Sub-Routine)、功能 (Action)。 在面向对象的领域中则常称为:操作 (Operation)、行为(Behavior)、方法 (Method)或成员函式(MemberFunction)。 把「数据」与「处理程序」分开思考 www.renwoxue.net 程序2 程序1程序3 资料1资料2资料3... 数据导向技术: 设计的重心落在系统所需之数据结构 www.renwoxue.net 例如:常应用在关系数据库之实体关系 模型(ERM) 图形表示法+正规化 (Formalization)数据模型 程序导向技术: 着重于处理的程序(以输入/输出为主体思 考)www.renwoxue.net 例如:早期普遍被使用之数据流分析技术 (DataFlowAnalysis) 1.分析数据