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