哪个UML图应该用于软件概述,该概述将用C为微控制器编写



我想知道如何使用UML图来展示软件概述。代码将用C编写,用于微控制器。所以,我想我不能使用CLASS图/OBJECT图/COMPOSITE STRUCTURE图。然后,

  1. 我应该使用哪个UML图?

  2. 活动图可以用于此吗?如果是这样的话,有没有办法将所有活动组合在一个图表中,以查看整个软件?

  3. 如果UML图不合适,那么哪一个图适合这个目的?

提前感谢。

理想情况下,程序设计应该与您的需求规范联系在一起,这样每个需求都有一个代码模块,而该代码模块有一个测试来演示它如何满足需求。这是一种乌托邦,人们很少能在实践中坚持下去,但无论如何,这种设计都是一种很好的野心。

一般来说,只要整个设计都有文档记录,如何记录程序设计就没有那么重要了——即使在专业环境中,这种情况也非常罕见。但是UML的所有迂腐细节都是可选的,在你找到它们的情况下使用它们,而不是仅仅为了它而使用它们。我经常使用UML类图来记录代码依赖关系,以及对记录应用程序行为有用的状态图。等等—在没有实现细节的情况下保持其宽泛性。

类的C等价物通常是具有相同名称的.h/.C对,它们一起形成一个"类";模块";或";ADT";或者你想怎么称呼它。

您需要记录所有类A使用类B依赖关系,以及所有class B是类A依存关系(继承(。继承在嵌入式系统中并不常见,但实现HAL是一个典型的例子。在硬件特定的驱动程序之上有一个抽象的API。

显然,你需要尽早决定这种抽象是否合理——程序最终会被移植到另一个MCU吗;长寿命;保证MCU不会在预期的产品寿命内终止使用?看看今天完全崩溃的硅市场,我认为任何微控制器项目在其生命周期内都需要多次移植。

要对用C编写的大型应用程序的静态结构进行概述建模,我建议使用包图。图中的包表示子系统,很可能对应于应用程序的高级目录结构。这些包之间的依赖关系箭头将指示哪个子系统使用哪个其他子系统。

对于每个顶级包,您可以创建一个单独的包关系图,显示子系统/子目录及其依赖关系。

最新更新