你知道用一种基于伪码的方法来设计(即编写)软件的好方法吗?
我是软件设计新手,也读过一些关于UML的信息。到目前为止,我的卑微的类层次结构是很好的,但是,在它变得复杂之后,我注意到,通过“看到全局”的图片,我可以使用一种不同的结构来提高将来的可扩展性。因为Python对原型化很好,所以我刚开始编写就好了,但不太好。
因此,我尝试了UML类图,但它们似乎对我没有多大帮助。我在那里解决的问题,我可以在我的脑子里做些小事。但是,当我开始对实际方法进行伪编码时,我确实注意到了额外的设计要求。
如果你想用伪代码来设计,你会怎么做呢?我相信,对于我来说,一种使用代码的1比1的方法效果最好。但是大多数UML软件甚至没有显示该方法的代码(与GoF中的图片相反)。
有人声称UML只用于文档和表示,而对设计没有那么好?我也有那种感觉。我认为纯UML和一些简单的白板草图是设计软件的方法,直到我在googling中找到了Envision APDT。
那么,敏捷开发是我应该注意的,还是他们随机地称之为敏捷--我认为敏捷仅仅是关于时间表的?或者我设计错误(用UML) --有人用伪代码设计吗?我怎样才能找到一个好的工具呢?
发布于 2012-07-30 17:29:42
I thought agile is about schedule only?这不仅仅是计划。敏捷软件开发更多的是一种进化开发,是一种带有自适应计划的时间间隔迭代交付,它鼓励对产品所有者所要求的更改做出灵活的响应。
Or am I designing incorrectly (with UML) - does anyone design by pseudocode? 在我的经验中,从客户的角度看图表要容易得多。它们在视觉上很吸引人,而且很多时候都非常丰富多彩,而且很容易理解。但是,由于与实际应用程序代码断开的性质,很难维护图表。每次在应用程序中进行更改时,开发人员都必须花时间更新所有文档,包括图表。但是,一旦团队或公司中有一个BA,他能够很好地理解客户端业务流程并能够管理UML图,那么这个问题就可以很容易地消除。
像UML这样的工具可以使这个过程更容易,但是只有在面向对象的编程中才能很好地工作。对于技术团队来说,伪代码要容易得多。创建此代码的过程大大提高了实际编程语言开发阶段的速度。
还有一些其他的选择,你也可以这样看:
很好的参考资料:软件设计教程。此外,我个人建议阅读由Coding (我最喜欢阅读的博客:)在伪码还是密码?上发布的一个好博客:)
总之,你需要考虑一些权衡。
发布于 2012-07-30 21:46:58
在用汇编语言编程时,编写伪代码很有意义.该算法可以在将手工翻译为汇编语言并调试转换之前进行验证。对于像FORTRAN这样的第一代编译语言来说,它还是有意义的,在FORTRAN IV中,唯一的控制结构是GOTO,所有变量(形式参数除外)都是全局的,变量名仅限于6个字符。
今天,我们很少用汇编语言进行编程,我看到编写伪代码而不仅仅是编写代码没有什么价值。在一种体面的语言中,实际的代码将几乎逐字逐句地遵循伪代码,而伪代码只是浪费时间。
然而,我并没有开始从底层开始编码。我跟踪TDD,从测试开始。然后,我开始在顶部进行编码,并在需要时逐步向下工作,以使测试通过。
伪代码的替代方法不是编写1000行低级类。相反,从顶部开始,为您的域调用理想但不存在的API。然后构建API。
发布于 2012-07-31 14:50:12
我发现类图几乎不值得付出努力,即使您跳过列出所有方法,只显示继承层次结构。序列图很好,但当我绘制它们(可能只有我)时,会感到很尴尬。
我发现数据流图和结构图更有用(尽管结构图通常与BDUF相关联,因此目前不受欢迎)。DFDs对于功能分解特别有用。DFD中的每一个“气泡”都可以分解成它自己的DFD,直到你得到你想要的任何细节。
https://softwareengineering.stackexchange.com/questions/158768
复制相似问题