Uml 软件项目使用了多少规划和什么规划?

Uml 软件项目使用了多少规划和什么规划?,uml,project-planning,Uml,Project Planning,您或您的公司开发的软件项目使用了多少计划和什么计划 我问这个问题的原因是因为我正在学习UML和其他类似的东西。从类的设置方式来看,我们一直在使用Visual Paradigm之类的程序广泛地创建一个模拟库系统,但是到目前为止,我们还没有完成任何编程(我们也不打算为这个模拟项目进行编程) 也许这只是课堂上的教学方式,但在我看来,课程中所教授的很多东西在介绍重要的软件项目规划时都显得很空洞。我可以看出对象图是多么有用,但是其他的图还有很多需要改进的地方。序列图或状态机图在实践中有多有用 因此,由于上

您或您的公司开发的软件项目使用了多少计划和什么计划

我问这个问题的原因是因为我正在学习UML和其他类似的东西。从类的设置方式来看,我们一直在使用Visual Paradigm之类的程序广泛地创建一个模拟库系统,但是到目前为止,我们还没有完成任何编程(我们也不打算为这个模拟项目进行编程)

也许这只是课堂上的教学方式,但在我看来,课程中所教授的很多东西在介绍重要的软件项目规划时都显得很空洞。我可以看出对象图是多么有用,但是其他的图还有很多需要改进的地方。序列图或状态机图在实践中有多有用


因此,由于上述原因,您或您的公司开发的软件项目使用了多少计划和什么计划?它是广泛的还是最小的?在编写代码之前,您是否深入研究了规划所有内容,还是对项目有了总体感觉?

我认为您混淆了规划和设计/架构。计划通常指的是事情的商业方面——有多少人会在多长时间内做一件事。假设您有足够的时间和预算,设计/架构应该处理如何正确处理事情

在设计方面,大多数开发人员在某种程度上了解UML,但不一定使用它。如果为它们提供了CASE工具,它们可能会单独使用类图,但不会经常使用其他类图。CASE工具迫使您使用UML的“正式形式”,因此它们相当严格,这限制了它们的创造性使用。通常创建案例模型是为了从代码生成中获益。在我自己的公司,我们生产了大量的代码,但根本不使用UML

对于协作设计和评审(例如,在黑板上绘图),UML更为常见,因为“每个人都在说它”。然而,从我所做和发表的观察研究来看,在黑板上绘制的UML仅仅是达到目的的手段——人们借用某些符号,但使用它们来交流想法。所以你会在类图上看到序列和控制流之类的东西。生成的工件不是您可以捕获到CASE工具中的东西。当你把一群有经验的开发人员组织在一起进行设计时,你可以看到很多关于这些东西的照片


就规划而言,我的经验是,软件公司和同样开发软件的公司之间的规划差异很大。在后者(大多数)中,宏观层面的规划通常基于企业文化和商业风格规划,这是你在mba中学到的东西。这通常不是特定于软件的,就管理层而言,您可能正在构建软件或烘烤松饼,这只是数字。在更微观的层面上,实际上没有使用任何官方系统。甘特图和电子表格等工具用于跟踪基本上是最佳情况猜测和进度安排。但归根结底,这取决于管理层的经验——以前的开发人员通常更擅长于此。某些实践,如敏捷,在某些方面简化了计划

只要拿到A,实习,然后找份工作。我用的最多是我在大学里学到的20%。大学学位是淘汰不称职者的一种方式,而且是一种非常昂贵的安慰剂。实际的学习从工作开始。没关系;只要在课堂上表现出色。@Hamish:大学学位会给你一个在工作中有用的CS背景(例如,更好地理解算法是如何设计的,如何证明正确性,如何衡量性能),这并不意味着教你成为一名开发人员或拥有工程技能。如果只教授发展的商学院是有竞争力和高质量的,那么很少有公司会专注于CS学位。我完全支持哈米什的观点,因为我现在使用的是我在大学里学到的不到20%(有时可能不到10%)。然而,我不知道这仅仅是我还是什么,但这10-20%中有相当一部分来自我的软件工程课程。这位教授是一位知识渊博的人,在这个行业已经有很长时间了。我希望我能回去从那些课程中吸取一些建议,现在我知道它在说什么了。哇,你们应该从你们上的学校拿回你们的钱。在我的职业生涯中,我运用了我在学校学到的一切;每天大部分时间,我喜欢算法!我给算法打分。上次我在算法课上证明了某些东西的正确性。算法带给我的唯一好处就是能够通过与同样喜欢算法的人的访谈。顺便说一句,你不能真正证明一个算法的正确性。讽刺的是,我在软件工程课上学到了很多反例。谢谢你的回答,总有一天我会读你的论文。既然没有其他答案,我就把你的答案标为正确答案。