1

我正在寻找可以帮助我识别软件系统(项目)中的类(可能还有它们的职责)的方法(技术)。我知道有很多软件设计书籍,但我专门寻找如何知道这应该是系统中的一个类,这些是它的职责。

我想提高我在如何为软件项目列出课程列表方面的技能。阅读规范和需求文档后,是否有技术可以帮助我了解类列表?

请不要在寻找设计模式书籍。我宁愿寻找我可以用来为软件项目设计课程的技术。

我欢迎您的所有贡献、书籍建议、文章指针、教程等。

我用谷歌搜索但找不到任何有意义的东西。

感谢您的帮助。

添加::

另一个同样重要的领域是如何确定类之间的协作。如何确定哪个类需要其他。

4

2 回答 2

4

通常名词最好从需求转移到类中,动词是方法,形容词是注释。

.ie 汽车启动它的引擎

类:汽车方法:startEngine()

于 2013-03-21T15:26:24.610 回答
1

在阅读规范和需求文档后,是否有技术可以帮助我了解类列表?

不,那太天真了。

每个软件解决方案都是具有两个目的的类的混合:满足“问题域”需求和满足“派生”需求。松散地说,派生需求是您必须执行的所有技术操作的结果,例如保存到数据库。这两者必须相遇/互动是我们拥有设计模式的一个重要原因。

对您而言,诀窍(也称为技术)是专注于您的业务需求并塑造将这些需求表达为属性和方法的类。远离电脑的东西。如果您需要“保存人员数据”,那很好。但不要担心你将如何做到这一点。设计以商业术语和概念表达您的“商业模式”。

正如@FridayChlis 所说,一个好的起点是名词== 类,动作动词== 方法。我会添加形容词(经常)==属性。

通过设计这些类如何交互的场景来优化您的设计,即:“aPersonBankand Withdraws Money”。通过这种方式,您可以看到类如何交互,并且会发现设计和需求中的缺陷和不足。根据需要经常重复该过程,直到满足所有业务需求。

研究UML 图表。这是一套用于软件系统设计(和文档!)的标准化图表。警告。不要尝试使用所有可用的图表,甚至是大多数可用的图表。

于 2013-03-21T16:24:45.643 回答