假设我已经从客户那里收到了一个项目的规范,现在是时候开始开发它了。通常,我只是从第一个模块开始(通常是用户注册),然后从一个模块进入下一个模块。我只是在即将开始模块工作之前就在脑海中计划,但在此之前没有任何计划。
但是,我认为最好在编写代码之前仔细阅读规格并计划系统的工作方式,例如主要组件是什么,它们将如何交互等。我只是不确定我应该怎么计划。
为了更好地了解我的要求,我应该如何-
a)将项目分为几个部分,
b)计划他们的交互,例如我应该做类图,编写单元测试等吗?
有任何想法吗?
假设我已经从客户那里收到了一个项目的规范,现在是时候开始开发它了。通常,我只是从第一个模块开始(通常是用户注册),然后从一个模块进入下一个模块。我只是在即将开始模块工作之前就在脑海中计划,但在此之前没有任何计划。
但是,我认为最好在编写代码之前仔细阅读规格并计划系统的工作方式,例如主要组件是什么,它们将如何交互等。我只是不确定我应该怎么计划。
为了更好地了解我的要求,我应该如何-
a)将项目分为几个部分,
b)计划他们的交互,例如我应该做类图,编写单元测试等吗?
有任何想法吗?
Answers:
当您有特权开始一个新项目时,您将拥有一块空白的画布,它既令人兴奋又令人生畏。我迭代工作,这就是我划分工作的方式:
从本质上讲,这种从非常高级到更详细的设计逐步定义项目的方法对我很有用。在实际尝试实现子系统时,甚至子系统之间的交互也会得到完善。这是好事。
我认为如果我超过规格会更好
对。好主意。
在编码之前,先计划了系统的工作方式。
好。做更多的。
主要成分是什么
优秀。
他们将如何互动,
正确。
我只是不确定我应该计划什么。
您怎么能确定何时已经列出一堆东西呢?如果这些是您关心的事情,为什么不只关注这些事情呢?
阅读4 + 1视图模型:http : //en.wikipedia.org/wiki/4%2B1_Architectural_View_Model
阅读有关Zachman框架的信息:http : //en.wikipedia.org/wiki/Zachman_Framework
那就是您需要计划的。
我应该如何a)将项目分为多个部分,
对其他类似项目使用广泛采用的设计模式。
如有疑问,请阅读J2EE蓝图以获取想法。
http://www.oracle.com/technetwork/java/javaee/blueprints/index.html
我应该如何b)计划他们的交互,例如我应该做类图,编写单元测试等?
是。好主意,全部。
最重要的事情是:查看规格,与客户互动以获得更完善的规格。
这些要求无疑是不完整,模糊或不正确的。浪费时间最多的是做错事。客户不是专业的软件工程师,不能期望他们擅长制定一套好的要求。
因此,您应该查看规格,采访客户,并确定这是否是他/她真正需要和想要的,负担得起的,等等。
制定测试/用例并与客户进行审查。如果需求不可测试,则将其丢弃。
开发设计,并确保所有部件都能正常工作,以确保理论上可以完成您需要的工作。
开发一个体系结构原型,该原型可以测试要在每个层中使用的所有技术,但是会忽略功能。您正在测试体系结构,而不是功能规范。具有错误的体系结构将意味着您必须重写所有内容,因此获得正确的体系结构很重要。确保它可以满足您对速度,效率,安全性等方面的要求。
一切
对所有内容进行计划,与在纸上进行部分编码相比,更容易在纸上进行更改,这为您提供了很好的文档基础和许多其他好处。