第五章结构化分析与建模
- 格式:ppt
- 大小:5.35 MB
- 文档页数:58
系统的结构化分析与设计⽅法1、结构化⽅法的主要思想:(1)软件是有组织、有结构的逻辑实体,其结构为⾃顶向下的形式(2)软件由程序和数据组成,其结构呈现三层组织形式,即系统、⼦系统、功能模块/数据体(3)软件结构中的各部分既独⽴⼜关联2、结构化⽅法的特点:(1)抽象性:抽象描述系统的本质内容(2)结构化、模块化、层次化:分⽽治之,由分到合(3)分析与设计线索:⾯向过程(处理) – 过程驱动⾯向数据 – 数据驱动3、总体规划:为所规划的软件系统作出⼀个战略的、宏观的、全局的技术⽅案构建宏观结构模型,为后期的分析与设计奠定基础三个⼯作内容:(1)需求调查(2)结构模型建⽴(3)总体规划⽂档撰写4、过程与数据间的关系建⽴ – U/C矩阵(1)过程(处理)对数据的操作可以分为2类: Use – 使⽤,包括Select、Insert、Delete、Update Create – 建⽴,即创建数据(2)U/C 矩阵⼆维矩阵表横向业务 – 过程;纵向 – 主题数据库(3)U/C矩阵的作⽤为⼦系统划分提供帮助5、⼦系统规划:(1)建⽴U/C矩阵(2)整理成“基本U/C矩阵” 在原始的U/C矩阵基础上,反复调换列,使得尽可能多的“C”标记处于矩阵的对⾓线附近(3)⼦系统划分按照“职能域”对U/C矩阵进⾏划分(4)⼦系统定义含业务过程和主题数据库6、⽤传统结构化和oo的观点看待系统的⽐较:1)传统⽅法:系统是处理的集合,处理与数据实体的交互,处理接受输⼊并产⽣输出2)OO⽅法:系统是交互对象的集合,对象与⼈或其他对象交互,对象发送和响应信息7、结构化分析:分析基础:总体规划说明书;分析每个业务过程的详细流程;分析每个主题数据库的数据结构;建⽴分析模型:系统业务流程图、详细的数据流图、数据字典;结构化系统分析结果:系统分析说明书8、系统流程图:对不同计算机程序、⽂件、数据库和相关⼿⼯过程设计的表达;主要从较⾼的层次描述系统的相对独⽴的⼦系统和程序模块;⽤图形化的⽅式描述了对⼦系统的组织;可以表明系统业务类:Batch(批处理) Real time(实时处理)9、10、基于数据流的系统分析 -- 数据流图数据流图:⽤处理、外部实体、数据流以及数据存储来表⽰系统需求的图表DFD的特点:图形元素少且符号简单易懂;较充分表达系统的主要需求:输⼊、输出、处理和数据存储;最终⽤户、管理⼈员和系统开发⼈员只需稍加培训即可读懂DFD图,⽅便交流。
建立结构分析模型结构分析模型是一种组织和管理复杂系统的工具,通过分析系统中的各个组成部分及其之间的相互关系,帮助我们理解系统的结构和运行机制。
在建立结构分析模型时,可以遵循以下步骤:1.确定系统边界:首先确定系统的边界,也就是明确系统所关注的范围和要分析的对象。
这有助于将系统划分为不同的部分,从而更容易理解和管理。
2.识别系统要素:在系统边界内,识别和列举出系统的各个要素。
要素可以是组件、子系统、过程、功能、环境等。
这些要素之间可能存在相互作用、依存关系和层次关系。
4.分析要素的属性和行为:对于每个要素,分析其属性和行为。
属性可以是静态特征,如名称、类型、属性等。
行为可以是动态的,如过程、状态转换等。
通过分析属性和行为,可以更好地理解系统的功能和运行机制。
可以使用UML(统一建模语言)等形式对要素进行描述和建模。
5.确定要素的耦合度和分离度:结构分析模型还可以帮助我们评估系统中要素之间的耦合度和分离度。
耦合度指的是要素之间的相互依赖程度,分离度指的是要素之间的独立性程度。
通过评估耦合度和分离度,可以优化系统的结构和设计,提高系统的稳定性和可维护性。
6.优化系统结构:根据分析结果,对系统的结构进行优化。
可以调整要素之间的关系、调整要素的分布和组织方式,以更好地满足系统的功能需求和性能要求。
总结起来,建立结构分析模型的过程包括确定系统边界、识别系统要素、建立要素关系图、分析要素的属性和行为、确定要素的耦合度和分离度,以及优化系统结构。
通过建立结构分析模型,可以更好地理解和管理复杂系统,帮助我们在设计和开发过程中做出更准确的决策。
第一章概论1.软件的特点:(1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
(2)软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
(3)软件的使用没有硬件那样的机械磨损和老化问题。
2.软件的分类:系统软件,居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用;支撑软件,支撑软件的开发和维护;应用软件,特定应用领域的专用软件。
3.软件工程定义:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;(2)在(1)中所述方法的研究。
4.软件工程框架:目标、过程和原则。
目标指生产具有正确性、可用性和开销合宜的产品;过程指生产一个最终满足需求且达到工程目标的软件产品所需要的步骤;原则为选择适宜的开发模型、采用合适的设计方法、提供高质量的工程支撑、重视软件工程的管理。
5.软件生存周期:软件产品或软件系统从产生、投入使用到被淘汰的全过程。
大致分为六阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
6.能力成熟度模型CMM五个等级:初始级、可重复级、已定义级、已管理级、优化级。
7.常见模型优缺点:螺旋模型:螺旋模型是将瀑布模型与原型模型结合起来,加入风险分析环节,是一种风险驱动模型。
包括4个工作步骤:1)需求定义、2)风险分析、3)工程实现、4)评审。
瀑布模型:瀑布模型是将软件生存周期各活动规定为以线性顺序连接的若干阶段的模型;强调阶段的严格顺序和每一阶段的严格性。
前一阶段的输出是后一阶段的输入;每阶段要进行文档的复审与确认。
增量模型:融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征,强调每一个增量都发布一个可运行的产品,能有计划地管理技术风险;喷泉模型:一种支持面向对象开发的模型,体现迭代和无间隙特征;基于构件的开发模型:支持复用;形式化方法模型:建立在严格数学基础上;8.Agile方法的价值观:个人和交互高于过程和工具;可运行软件高于详尽的文档;与客户协作高于合同(契约)谈判;对变更及时做出反应高于遵循计划。
结构化分析法的基本思想
,
结构化分析法是一种管理技术,它主要应用于分析特定组织中特定问题的结构,并分析特定组织中存在的协调机制,最终以形成有效的解决方案。
这一方法源自罗素·本贝格(Russell L. Ackoff)的思想,主要用于解决复杂问题的解决,其适用于处理夷为平地的复杂组织结构。
结构化分析法的核心思想是分析、结构化和建模,以及识别任务的关系,并通过制定有效的预防措施来解决问题。
其精髓即在于将复杂的组织、系统与环境变量统筹规划,从宏观结构上重新设计和实施有效的解决方案。
结构化分析法能有效地解决当前许多与组织系统相关的问题,它可以帮助组织分析其基础结构,将职责分配给相关部门,把业务流程建模,然后重新组织分解和标准化,以达到提高效率、减少冗余和提升服务质量的目的。
此外,在总体规划、执行并行任务和管理系统本身等方面,结构化分析法对决策非常有用。
总而言之,结构化分析法是一种很有用的理论,它不仅可以有效地避免组织产生巨大的浪费和损害,还能更好地调整、协调和优化组织的运营管理体系,最终实现系统的整体性与有效性,更能辅助系统内实体达成共同目标,让组织实现更有效的发展。
软件设计与体系结构答案目录:第一章 (4)1.什么是软件?软件的特点是什么?软件有那些分类?2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何?3.请用自己的话说明软件体系结构。
传统的建筑体系结构科学和软件体系结构有何相似之处?有何不同之处?4.软件设计和软件体系结构有何关系?软件体系结构的出现有何必然性和重要意义?5.在软件设计过程中,人们需要重点考虑软件系统结构的哪些方面?第二章 (5)1.什么是软件模型?2.软件模型对软件体系结构的作用是什么?3.常用的软件模型有哪些?4.什么是软件模型的非形式化描述和形式化描述?5.软件体系结构设计方法中的水平型设计和垂直型设计各有什么特点?6.什么是ADL?7.典型的ADL有哪几种?第三章 (6)1.在整个开发过程中,UML主要起到什么作用?2.如何利用模式解决在面向对象系统分析与设计中遇到的问题?3.UML中都包含哪些图?简述这些图的作用。
14.简述用例图之间的关系。
5.简述协作图和序列图的区别。
6.神舟六号描述画出能正确表示它们之间关系的UML图。
7.某个网上银行的用户登录过程用一个时序图描述这个过程。
第四章 (9)1.简述抽象与逐步求精的含义。
2.简述模块化与信息隐藏的关系。
3.为什么软件要追求高内聚、低耦合?4.软件设计过程中包含哪些活动?5.试总结本章列举的软件体系结构设计方法的特点。
第五章 (10)1.选择一个熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点(为什么要采用这种风格?采用这种风格带来哪些优势?具有哪些不足?)2.选择4种风格,设计简单的体系结构,并实现简单的原型系统3.不同的体系结构风格具有各自的特点、优劣和用途,试对管道-过滤器风格,分层系统、C2风格和基于消息总线(基于事件的隐式调用)的风格进行分析比较。
第六章 (13)1.简述面向对象方法支持的3种基本活动.2.简述面向对象的系统开发生命周期。