【发布时间】:2019-04-18 14:38:37
【问题描述】:
我必须使用 NetBeans、Java 和 MySQL 设计和开发独立的桌面应用程序。我需要知道如何在编码之前逐步规划我的软件,例如创建 SRS 文档、绘制用例、规划 ER 图、流程图、BP 图、类图等...
完整的优质产品,错误更少
【问题讨论】:
标签: user-interface software-design flowchart entity-relationship-model
我必须使用 NetBeans、Java 和 MySQL 设计和开发独立的桌面应用程序。我需要知道如何在编码之前逐步规划我的软件,例如创建 SRS 文档、绘制用例、规划 ER 图、流程图、BP 图、类图等...
完整的优质产品,错误更少
【问题讨论】:
标签: user-interface software-design flowchart entity-relationship-model
据我了解,需要确定开发模型 - 是瀑布式还是原型式。据我所知,现在瀑布模型的使用并不多。在瀑布模型下,编码只有在需求规范和软件设计得到充分开发和确定之后才开始,以至于它们发生变化的可能性几乎可以忽略不计。然而,在现代世界中,正在遵循敏捷或原型软件开发模型,我们从基本需求和基本软件设计开始,然后直接进行编码、测试,有时还尽快发布产品。然后 srs、设计、编码、测试和发布的所有步骤不断重复,直到应用程序的生命周期,因此产品在每次发布时都会变得更好,并且只有在几次发布后,它才会达到具有许多功能的地步在生产中。
软件开发的迭代模型更受欢迎的原因是需求不断变化,并且很难事先确定产品所有功能的需求,因为利益相关者不完全了解什么他们想要和/或他们想要的方式。设计也是如此,由于需求的变化,软件设计也需要改变,因此锁定软件设计也无益。
话虽如此,迭代开发并非没有任何 srs 或任何设计规范。我建议从基本的 srs 和基本的软件设计开始,这些设计捕捉应用程序的核心部分,并保持其灵活性,以便轻松适应变化。
您提到的图表和文档都是很好的起点。但是,它们需要保持在最低限度地仅捕获应用程序的核心部分,以便编码、测试和发布部分可以快速进行,从而实现获取初始版本(概念验证)的目标,以便它可以向利益相关者展示。
比方说,它是一个购物应用,它的核心部分可能有这些特点:
因此,上述功能试图完成应用程序的关键路径,以便它可以尽快成为一个工作应用程序,并且可以进行演示和迭代。最初不重要的功能可以被剔除 - 例如身份验证、搜索、支付处理、发送电子邮件等。
我不确定这是否能回答您的问题,但希望它提供一些指导,以便从头开始应用程序开发。
【讨论】:
如果您有更多时间,请遵循瀑布模型。 您可以采用敏捷方法来快速交付应用程序。 软件规划取决于以下因素 1)项目范围 2)项目期限 3) 可用资源数量 4)项目成本 5)研发工作时间等
希望对你有帮助
【讨论】: