King同学:有个关于架构的讨论,分享一下。
背景:今天和部门Boss聊到某项目的落地。其中,我是将用例图,作为需求分析的主要UML图产出。然后系统上下文,与子系统间的交互时序图等作为概要设计的UML图产出。
软件阶段职责:
Boss和我说,用例图是概要设计的产出。概要设计没有系统上下文&时序图,因为概要设计不应该涉及系统的逻辑,应该是业务&业务领域逻辑。
这个和我的认知是冲突的。我就问他,那分析阶段干嘛。他告诉我,分析阶段主要涉及集团战略->战役->需求这样的拆解。概要设计主要是用例图这样的业务逻辑,并且用例图要展现交互顺序。详细设计才会设计具体子系统、具体模块。
说实话,我当时内心是一脸问号。因为我也是看了不少架构理论方面的书,没见过这样分的啊。我就把以前软考的教材,和以前看到一些国外的文献翻出来,确认都是需求分析(针对业务需求)->概要设计(子系统间交互)->详细设计这样的流程。
>资料:
《系统架构设计师教程》第四版p176对软件设计两个阶段的说明:概要设计:设计软件的结构、确定系统是由那些模块组成,以及模块之间的关系。详细设计:对结构表示进行细化,得到详细的数据结构和算法。
Boss的阶段职责划分,我认为详细设计相对太厚了。而有关集团战略的部分,在我的认识中,应该主要在需求设计之前(可能会有一定的考虑,但不是主要内容),如业务分析&可行性分析等。更多的部分,应该是在集团的信息化战略体系中(这部分还没看到老师的课程。自己现在知道的战略规划方法,只有SST、SAM.etc)。
用例图参与者:
另外,Boss和我强调用力图中的参与者不可以出现时间、外部系统这样的参与者,只可以是管理员、作业小二这样的参与者。这也和我之前学到的大相径庭。在我之前的认知中,时间&外部系统是可以作为用例图的参与者,并且可以是主要参与者。
>资料:
《软件建模与设计》(原版:《Software Modeling & Design -Hassan Gomaa》)p55对用例图参与者的说明:参与者可能是一个与本系统通过接口连接的外部系统。
老师,我这样的软件工程的认识,有什么问题吗?集团内部是有什么这方面的系统架构规范嘛,和主流标准不一致嘛?
大家也可以一起讨论讨论~~~
正在回答 回答被采纳积分+1
好问题~欢迎大家一起来讨论~
张飞扬老师:好问题,此类问题是架构设计的经典问题。你的理解符合业界标准认识,基本功很扎实啊。一般需求分析主攻用例分析,包括外围系统和人员和系统的交互。概要设计到在AOD或者鲁棒图,泳道图为止。逻辑的详细分层,时序图,部署图在详细设计阶段完成。但如果企业有架构办或者企业架构师的岗位,会进行架方法论剪裁和调整。建议看一下你们集团的方法论和架构设计案例。现在很多互联网公司都混淆了设计步骤的边界,方便加速应用快速迭代。比如Google推行的design thinging,各个事业部都剪裁了独有的方法论,可谓不管白猫黑猫抓到老鼠就是好猫。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星