学习如何分析项目

时间:2009-08-18 10:44:08

标签: analysis uml

我刚刚偶然发现了为我公司的一个客户(SMB)分析项目的工作。我是一名.Net开发人员(5年),在分析软件(学校的UML)方面经验不足。

我们刚刚与用户讨论了两周,并得到了一份很好的要求清单。显然,我们已经过滤掉了最重要的要求,并且必须将一堆标记为“超出范围”。

我刚刚开始制作一些用例,但觉得我没有必要的专业知识来使整个项目达到良好的目的。我想知道是否有人从开发人员到分析师实现了跨越式发展,以及与之相关的内容。此外,分析项目的一些好资源也不错。

感谢。

4 个答案:

答案 0 :(得分:3)

似乎没有其他人对此表示不满,所以我愿意。

我必须首先给你一些不受欢迎的消息 - 作为一名优秀的分析师就像是一名优秀的开发者 - 不是每个人都可以做到这一点。我认识很多人都非常擅长编写复杂的Windows应用程序代码,这些代码在找出用户想要的内容时无用,缩小了这些要求,并提出了设计方案。所以,如果你发现它很难,那就不要感觉不好。

这让我想到了第二点 - 你无法分析和分析 设计,特别是对于现代OO系统,这两者是连续体的一部分。所以你必须为此做好准备。

我的第三点是不要过于拘泥于UML。它是一个很好的工具,可以向其他人解释您的想法(前提是他们也知道UML),但这是一个用于实际设计的相当腐烂的工具。例如,用例可以很容易地保存在文本文件中,而不是UML使用的那些棒图。我使用简单的框图来显示对象,组件和关系,而不是UML,通常在纸上和白板上绘制。

我的最后一点是A& D不是单人活动。找别人 涉及你可以反弹的想法。如果你能让一位经验丰富的分析师/设计师帮助你一天左右,那就更好了。

希望这是有用的,而不是太消极!

答案 1 :(得分:2)

为了软化Neil的坏消息,我会说你问自己这些问题的事实可能是一个好兆头。

如果您与客户(以及您的管理层)建立了良好的关系,那么可能值得考虑一些敏捷方法的变体。它可以帮助减轻试图看到未来太远的一些风险。

请记住“当你向他提供他所要求的东西时,顾客只会意识到他想要的东西”:)

分析时 当你分析客户的要求时,以及当你想出新系统对他来说是什么样的想法时,应避免像开发人员一样思考。技术“注意事项”(“这将更容易编码”,“我可以使用新技术X”)可以真正阻碍设计有用和可用的东西。

编码时不要惊慌。将工作划分为可管理的块。不是每个人都会同意这一点,但是如果你发现自己处于一个无法控制的大块中,那么你无法理解,即使你已经完成了一半并且必须开始,那么 just start coding 结束了,如果你只是坐在那里等待事情发生,你的进步会更多。

小心不要忘记'目标' - 经常检查你是不是在不知不觉中重写规格。

答案 2 :(得分:1)

UML是一种通信工具,因此您应该使用它来引导用户的需求。

你不应该用没有人会理解的微小细节来重载你的图表。至于我,我避免使用像Rational Rose一样的极客丑陋的图表,我用图形工具自己绘制它们,否则你可以使用像yUML.me这样的有趣的东西(一个免费的在线UML工具),你的用户应该喜欢它。

我甚至在yUML DSL之上为业务分析师开发了一个用户友好的语言,以便用户可以用简单的英语直接表达并将其翻译成UML,如

  Blogger is a User
  Admin is a Blogger
  Author is a Blogger
  Subscriber is a User

  Admin Manage Site
  Manage Site Include Manage Users
  Manage Site Include Manage Themes
  Manage Site Include Manage Plugins

源代码可在此处获得: http://reboltutorial.com/blog/easy-yuml-dialect-for-mere-mortals/

关键是要保持简单。许多人过度复杂的图表,这就是为什么UML有一些不好的声誉。

答案 3 :(得分:1)

我发表了几篇文章,旨在让新设计师有一个良好的开端。所有帖子都可以在这里找到:http://aviadezra.blogspot.com/search/label/UML

在大多数情况下,您可以从使用部署图建模系统的物理体系结构开始,“建模系统物理体系结构”这一帖子首先显示部署图的简单使用,其中我们仅显示节点及其相互关系,并通过包含在节点中运行的组件和应用程序来完成图片。

在下一阶段,我们使用组件图描述系统的逻辑体系结构,“系统逻辑体系结构建模”的帖子首先显示逻辑组件的简单连接,并通过包含组件公开/需要的接口来完成图片并说明了它们连接在一起的方式。

如果您正在设计并行应用程序,首先使用活动图显示并行工作流程,并使用序列图和类图完成图片,“建模并行应用程序”将引导您完成整个过程。

当进入详细设计阶段时,您使用类图来以不同方式相互关联的对象(类)类型来描述问题域,帖子'Association,Aggregation and Composition'解释了3的变体。类图中使用的关联连接器。

接下来,您使用序列图来显示不同对象如何相互作用;序列图的一个常见问题是如何显示条件和迭代,帖子“交互片段”解释了交互片段运算符(Alt,Opt,Par,Loop和Region)如何用于此事。