Nit*_*ist 5 project-planning uml
您或您公司开发的软件项目使用了多少计划?
我提出这个问题的原因是因为我正在上一堂课,我正在接受UML和其他类似的东西.从设置类的方式来看,我们已经使用Visual Paradigm这样的程序广泛地创建了一个模拟库系统,但到目前为止我们还没有完成任何编程工作(我们也不打算这个模拟项目).
也许这只是课堂教学的方式,但在我看来,课程中教授的很多内容都非常荒谬,因为它在介绍软件项目的重要规划时也是如此.我可以看到有用的对象图是多么有用,但其他图表还有很多不足之处.实际中序列图或状态机图有多大用处?
那么,由于前面提到的,您或您的公司开发的软件项目使用了多少和哪些计划?它是广泛的还是最小的?在编写代码之前,您是否深入研究计划所有内容或者是否对项目有一般感觉?
我认为你混淆了规划和设计/架构。规划通常指的是事情的业务方面——有多少人会在多长时间内做某事。设计/架构应该解决如何在假设您有足够的时间和预算的情况下正确地做事。
在设计方面,大多数开发人员都在一定程度上了解UML,但不一定会使用它。如果给他们 CASE 工具,他们可能会单独使用类图,但不会经常使用其他工具。CASE 工具强制您使用 UML 的“正式形式”,因此它们相当严格,这限制了它们的创造性使用。通常创建 CASE 模型是为了从代码生成中受益。在我自己的公司中,我们生成了大量代码,但根本不使用 UML。
对于协作设计和审查(例如,在板上绘图),UML 更常见,因为“每个人都说它”。然而,从我所做并发表的观察性研究来看,画在黑板上的UML仅仅是达到目的的手段——人们借用某些符号,但用它们来交流想法。所以你会在类图上看到序列和控制流之类的东西。所产生的工件不是您可以将其捕获到 CASE 工具中的东西。你可以在我的论文中看到很多照片,这些照片展示了当你把一群经验丰富的开发人员分组进行设计时这些东西是什么样子的。
在规划方面,我的经验是,软件公司和同时开发软件的公司之间存在很大差异。对于后者(占大多数),宏观层面的规划通常是根据企业文化和商业风格规划来完成的,这些都是你在 MBA 中学到的东西。它通常不是特定于软件的,就管理层而言,您可能正在构建软件或烘烤松饼,这只是数字。在更微观的层面上,实际上并没有使用任何官方系统。甘特图和电子表格等工具用于跟踪最佳情况的猜测和延误的时间表。但最终,这取决于管理层的经验——前开发人员通常在这方面更擅长。某些实践(例如敏捷)在某些方面简化了规划。