在开始编码之前,我有兴趣开始在纸上正确设计我的软件.这是什么标准方法?
我正在考虑UML的一些内容,但我觉得这对于一个单人项目来说有点过分.
专业人士认为在开发爱好项目时最好做些什么?
预计投票将像往常一样关闭,这不是争论性的.这是一个明确的答案,我期待建立一些东西.:P
可能重复:
UML是否实用?
我在大学做UML,我不明白为什么要这样做.它看起来像是OO数据库的模型,但我想我可以在没有UML的情况下编写Java.
我想知道为什么在专业领域使用UML的技术原因; 为什么这很重要.不只是学习它,因为教授这么说.
谁能帮我?我目前正在使用Eclipse Java IDE,并希望有一个插件可以自动查看我的类并使用UML绘制类图.
有什么建议?
鉴于您的项目中必须包含UML图表,您希望如何绘制它们? - 通过使用脚本 - 通过使用拖放 - 任何其他方便和快速的方法
我收到了很多回复.根据我们的项目要求,我决定使用工厂uml,因为我们发现很容易绘制UML图.我们对崇敬工程并不感兴趣.
我目前正在研究Eclipse中的一个项目,但问题是这个项目非常大(很多代码,类,包等)并且没有文档记录.由于该项目是用Java编写的,我的想法是对项目进行反向工程,以便在UML中查看他的体系结构.你知道一个eclipse插件可以很容易地完成这个任务吗?感谢您的回答 !!
我正在创建一些UML图,我有很多实现接口的类.
这些类是否还需要列出接口的方法?这听起来很微不足道,但如果他们不这样做,将使图表看起来更简单.
这是一张显示我的意思的图片:
MyInterface的任何实现都需要method1,method2和method3 - 那么这些可以省略吗?
我有一个接口说
Interface ICallback {
public void informFunction();
}
Run Code Online (Sandbox Code Playgroud)
我有一个班级说:
Class Implementation implements ICallback {
public Implementation() {
new AnotherImplementation(this);
}
@override
public void informFunction() {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
现在考虑一个类,其中Class Implementation的实例作为接口传递并用于进行回调.
Class AnotherImplementation {
public ICallback mCallback;
public AnotherImplementation(ICallback callback) {
mCallback = callback;
}
public void testFunction() {
mCallback.informFunction(); // Callback
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何设计UML类图.最重要的是,我需要知道如何表示将在类AnotherImplementation :: testFunction()中发生的回调函数.
我是Visual Studio产品的Ultimate/Enterprise系列的新手,我期待的一件事是基于源代码轻松创建序列图.我发现的一切都说它就像定位方法一样简单,右键单击=>生成序列图,如下所示:

...但此选项似乎在2015 Enterprise中不可用.有什么变化吗?
目前我正在试图找出,然后使用OWL,然后使用UML来描述软件工程过程中感兴趣的域.
我阅读了Atkinson的这篇论文,它非常好地概述了OWL和UML在语义和句法层面的差异和等同性.
但是,它没有提供一个明确的指示,在哪些用例中使用OWL而不是 - 例如 - 一个UML类图表可能更好.
它可能是底层开发过程,它决定了建模语言(例如模型驱动=去UML,本体驱动=去OWL),但对我自己来说,这个差异还不清楚吗?
在这两种语言中,我都可以建立一个术语,我作为本体工程师可以重复使用,以便从中推断出新的知识.作为软件工程师,我使用这个术语来构建(单个)系统.
那么OWL和UML之间的差异只是研究领域吗?或者我可以使用OWL来描述我的(单个)软件系统的构造吗?
而且,这就提出了一个问题,即选择哪种建模语言的决定只是由我试图实现的目标驱动的?
我正在寻找一个工具,Intellij Idea插件,或任何能够从Kotlin源文件生成UML类图的工具.
Intellij Idea 15的"显示图..."工具仅适用于.java文件.
谷歌没有帮助,但我仍然希望有机会为此找到一个工具.