首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何开始设计一个大型系统?

如何开始设计一个大型系统?
EN

Stack Overflow用户
提问于 2008-08-19 04:26:33
回答 10查看 5.1K关注 0票数 10

有人向我提到,我将是一个大型新系统的唯一开发人员。在其他方面,我将设计一个UI和数据库模式。

我相信我会得到一些指导,但我希望能让他们大吃一惊。在此期间我可以做些什么准备,当我坐在我的电脑前看规范时,我需要记住什么?

有几件事要记住:我是一名大学生,这是我的第一份真正的编程工作。我将使用Java。我们已经设置了自动测试的配置管理,etc...so工具不是问题。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-08-19 04:32:30

你对OOP了解很多吗?如果是这样的话,看看Spring和Hibernate来保持你的实现的整洁和orthogonal。如果你做到了这一点,你应该发现TDD是保持你的设计紧凑和精简的一个好方法,特别是因为你已经启动并运行了“自动化测试”。

更新:看着第一批答案,我完全不同意。特别是在Java领域,您可以找到大量关于使用对象而不是以数据库为中心的方法来开发您的应用程序的指导/资源。数据库设计通常是微软员工的第一步(我每天都在做这件事,但我正在做一个恢复程序,呃,Alt.Net)。如果您将重点放在需要交付给客户的内容上,并让ORM弄清楚如何持久化您的对象,那么您的设计应该会更好。

票数 11
EN

Stack Overflow用户

发布于 2008-08-19 10:34:36

这听起来很像我的第一份工作。大学毕业后,我被要求设计数据库和业务逻辑层,而其他人则负责UI。与此同时,老板在我身后张望,不愿放手过去是他的孩子,现在是我的孩子,并把手指伸进了它。三年后,开发人员正在逃离公司,而我们仍然需要X个月的时间才能真正卖出任何东西。

最大的错误在于过于雄心勃勃。如果这是你的第一份工作,你会犯错,而且你需要在写完之后很长一段时间内改变事情的工作方式。我们有各种各样的功能,使得系统变得比需要的更复杂,无论是在数据库级别还是在它提供给其他开发人员的API中。最后,整个事情太复杂了,一下子就不能支持了,就这么死了。

所以我的建议是:

  1. 如果你不确定是否能独自承担这么大的工作,那就别这么做。告诉你的雇主,让他们帮你找到或雇一个能帮你解决问题的人。如果需要将人员添加到项目中,那么应该在项目开始时完成,而不是在事情开始出错之后。
  2. 非常仔细地考虑产品的用途,并将其归结为您能想到的最简单的需求集。如果给你规范的人不是技术人员,试着看看他们写的东西是什么,而不是真正能工作和赚钱的东西。与客户和销售人员交谈,了解market.
  3. There's,承认自己错了。如果结果是整个系统都需要重写,因为你在第一个版本中犯了一些错误,那么最好尽快承认这一点,这样你就可以开始工作了。相应地,不要试图在您的第一个版本中建立一个可以预测所有可能的意外情况的体系结构,因为您不知道每个意外情况是什么,并且只会弄错。写一次,着眼于扔掉并重新开始--你可能不需要这样做,第一个版本可能很好,但如果你这样做了,就承认吧。
票数 5
EN

Stack Overflow用户

发布于 2008-08-19 06:08:32

我也不同意从数据库开始。DB仅仅是业务对象如何持久化的工件。我不知道在Java语言中有类似的工具,但是.Net有像SubSonic这样的优秀工具,使您的DB设计在您迭代业务对象设计时保持流畅。我要说的是,首先(甚至在决定引入什么技术之前)专注于这个过程,并识别你的名词和动词……然后从这些抽象中构建。嘿,它真的能在“真实世界”中工作,就像OOP 101教你的那样!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档