软件设计困境 [英] Software Design Dilemma

查看:88
本文介绍了软件设计困境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,最近我一直在考虑如何改进我在软件开发中遵循的方式/过程,因为我意识到我的开发生命周期不符合标准。我的意思是在没有设计要求的情况下跳入编码。最近我开始研究,我意识到设计在软件开发中起着至关重要的作用,我能够阅读不同的设计模式(工厂,代理模式等)。我想问一下是否有文件参考,任何人都可以指出我可以从我的客户向我提出要求的地方学习如何进行软件开发。

Hi guys, recently i have been thinking of how to improve the way/process i followed in software development because i realize that my development life cycle does not conform to the standard. Example of what i mean is jumping into coding after requirement is given without design. Recently i started my research and i realize that design plays a vital role in software development, i was able to read different design patterns (Factory, Proxy Patterns etc). I will like to ask if there are documented reference that anyone can point me to where i can learn how to go about software development from the point where my client gives me their requirement.

推荐答案

遗憾的是,由于一些原则原因。您当前对设计模式和软件开发方法的考虑方式似乎是基于它作为一组相关过程,方法和/或食谱配方的视图。事实并非如此。



软件架构和设计不是一套工件,这是工作。



首先,有很多(真的,非常多)软件开发过程的书籍。他们中的一些人确实留下了描述良好的过程的印象,应该遵循这些过程来得出一些结果。我必须说,这些书真的可能具有相当大的价值,但是,在现实生活中......只适用于那些在实践中建立发展过程的人。这些方法的科学价值只是错觉。我建议把所有的方法论文献作为思想的来源(顺便说一下术语)并依靠你自己的大脑。没有其他办法。



你看,我得出结论,开发不应该来自一些预先存在的开发方法。它应该来自某个特定项目的目标,并了解应用程序和应用领域的具体情况(应用领域或特定行业分支的主要问题是人,因此,首先,您应该非常了解他们的工作)。换句话说,你应该根据现有的想法真正发明一些特定的开发方法甚至一些模式,但更多的是你自己的经验。新方法将基于以前的经验,但理想情况下,它应该至少有一点不同,适用于你的新工作。



人们做了数百万危及项目成功的重大错误(你听说过大多数项目在完成之前都已关闭吗?),其中一个错误就是企图打破项目以适应某些项目负责人所关注的一些开发模式。无法有条不紊地工作是另一个谬误。另一个典型错误是将所有已知的模式和技术引入项目中。它并没有真正帮助。一切都应该从目标开始,并考虑到人们进入项目背景的技能。



-SA
Unfortunately not, due to some principle reasons. Your current way of considerations of the design patterns and software development methods seems to be based on the view of it as the set of related processes, methods, and/or cookbook recipes. This is not so in reality.

Software architecture and design is not a set of artifacts, this is work.

First of all, there is a lot (really, really many) books of software development process. Some of them really leave impression of the well-described process which should be followed to come to some result. I must say, those book really may have considerable value, but, in real life… only for those who already broke some teeth on building up development process in practice. The scientific value of those methods is just the illusion. I would advise to take all the methodological literature as the source of ideas (and terminology, by the way) and rely on your own brain. There is not an other way.

You see, I came to conclusion that the development should not come from some preexisting development method. It should come from the goals of some particular project and understanding of the specifics of the application and the application field (and major issue with the application field or particular industry branch is people, so, first of all, you should understand their work very well). In other way, you should really invent some particular development method and even some patterns as you go, based on existing idea, but more on your own experience. The new method will be based on previous experience, but, ideally, it should be at least a little different, adopted to you new work.

People have done millions of critical mistakes endangering the success of projects (did you heard that majority of projects are closed before they are complete?), and one of such mistake is the attempt to break the project to fit it some schema of development some project leader is preoccupied with. And failure to work methodically is another fallacy. One other typical mistake is to bring all the patterns and techniques one knows into the project. It does not really help. Everything should start with the goals and taking into account the skills the background of people getting into the project.

—SA


这篇关于软件设计困境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆