我只是想知道你们在开始一个新项目时所遵循的步骤是什么?您是否曾经创建过UML图表,SRS或任何设计文档?我正在开始一个新项目,并希望获得有关所有这些实践的专家建议。我知道代码,但我从未尝试过UML和其他东西。
任何帮助都会很棒
答案 0 :(得分:1)
通常,我的流程运行如下:
我不认为在逻辑阶段有太多的“过度设计”,因为随着项目的进展需求会发生变化,无论是从业务和技术/设计的角度来看,都是您无法提前预测的方式。 / p>
答案 1 :(得分:0)
我从未真正对UML感到困扰(无论如何都不是“真正的”UML)。当我开始一个项目时,我对以下几点感兴趣:
对于1,您可以使用UML用例图。我通常使用自己的伪用例图。从中您可以确定谁将使用您的软件以及以何种方式使用您的软件。不同的用户将以不同的方式使用该软件。这很有用,因为它可以帮助您确定目标用户是谁,以及b)帮助您确定2所需的功能。另外,如果您知道谁将使用您的软件以及如何使用您的软件,您可以专门为这些用户进行调整。
对于2,我通常只是列出一个大清单。有时将列表拆分为类别和/或优先级是有用的。这经常成为我的“TODO”名单。
对于3,我绘制了类似于UML类图的东西,除了没有UML注释。基本上每个类/模块/组件都有自己的盒子,它们用线条连接在一起。这向我展示了系统中将存在哪些组件以及它们如何相关/沟通等。我可能会为每个项目绘制不同的内容,有些内容比其他项目更详细,具体取决于我当时的需求。
在此之后,我喜欢通过编写简单的一次性模型/原型来对核心概念进行原型设计。这将给我一些关于它如何工作,如何实现它以及如何实现它的想法(通常我以“错误的方式”做原型,如果我没有写一个,我就不会知道) 。这里重要的是代码不在真实版本中使用。
答案 2 :(得分:0)
您可能希望在项目生命周期的早期考虑的一件事是创建域模型。作为一名程序员,你会很自在地说出计算机术语,但很可能你不会说客户的专业术语。域模型是您学习如何与客户交流以便他们了解您并了解您的方式的一种方式。它可以采用UML类图的形式,也可以是Word文档中的词汇表,无论您觉得什么都适合。
答案 3 :(得分:0)
在概念阶段之后,我想创建的第一件事是定义列表。这将通知我的变量,类和函数名称,并让我能够讨论它们。如果给出了选项,我通常选择psudocode类而不是UML,因为在编写时更容易调整。另一个想法我喜欢尽快做的是创建一个模拟界面。这可能是一个GUI,CLI或API,具体取决于项目,但让我对我的代码需要爬升的程度有了深刻的了解。