【问题标题】:Software Requirement Specifications for Web Applications [closed]Web 应用程序的软件需求规范 [关闭]
【发布时间】:2010-04-27 07:33:00
【问题描述】:

在为 Web 应用程序创建软件需求规范时,我正在寻找一些指导/书籍来阅读。为了获得灵感,我已经阅读了一些基于桌面应用程序的规范文档。我阅读的文档捕获了用例中的系统功能需求,这些用例往往是面向数据的,用例围绕应用程序打算执行的各种 CRUD 操作。

我喜欢这种结构,但是我发现很难将它与我的 Web 应用程序需要做的事情结合起来,主要是读取数据而不是操作它。我曾尝试编写一些用例,但它们都倾向于归结为“搜索项目”、“更改搜索结果视图”或“用户选择构面以优化搜索结果”。这对我来说听起来不太正确,让我想知道我是否以正确的方式进行。

基于 Web 的应用程序和基于桌面的应用程序之间是否存在规划差异?

【问题讨论】:

    标签: specifications requirements project-planning


    【解决方案1】:

    根据我的经验,将所有规范都设置为 CRUD 确实没有错。大多数时候,任何应用程序都不仅仅是“简单的 CRUD 应用程序”。需求不断发展,系统的不同部分趋于分歧并获得一些特定的逻辑。

    即使感觉像是一遍又一遍地重复相同的 CRUD 句子,但实际上将它们写下来并思考(而不是复制和粘贴)通常会发现隐藏的需求。

    【讨论】:

      【解决方案2】:

      基于桌面的应用程序和基于 Web 的应用程序之间的差异是惊人的。

      除了 CSS 3、HTML 5 和 XHTML 1.1 之外,我建议按照完全相反的顺序阅读这些知识并以完全相反的顺序应用这些知识:
      RFC 3986 - URI
      RFC 2616 - HTTP 1.1
      @987654323 @
      RFC 4251 - SSH Protocol
      RFC 4252 - SSH Authentication
      RFC 4253 - SSH Transport
      RFC 2045 - MIME
      RFC 4627 - JSON
      HTML 4.01
      XML
      XHTML 1.0XHTML 1.1
      ECMAScript
      CSS 2
      HTML 5 (Not a standard)
      CSS 3 (Not a standard)
      Web Content Accessibility Guidelines 2.0

      Symantec Internet Security Threat Report Volume XIV
      Symantec Internet Security Threat Report Volume XV
      OWASP Top 10
      SEO

      读完本文后,您应该开始了解网络的基本技术是如何工作的。只有在这一点上,您才能准备好为 Web 应用程序进行一致的开发。还有许多其他技术在发挥作用,但这些都是基础知识,一旦您熟悉了基础知识,您就会知道在哪里可以找到更多信息。

      【讨论】:

      • 答案是哪个问题?:)
      • 问题是关于 Web 应用程序的软件需求,我提供了专门处理 Web 的应用程序层标准。假设 Web 应用程序将产生与 Web 上的应用程序层处理相关的内容,如果该假设正确,则提供的标准将成为必要的软件要求。
      • 我宁愿说“必要的技术架构”,因为理论上需求是用来指定系统的技术,分析模型解决方案和架构允许系统和技术解决方案的良好设计原则.您提到的是重要文件,但是 SEO 不会帮助我找出功能性和非功能性要求,例如项目管理网络应用程序将有。
      • 关于项目管理目标,Web 应用程序的代码构造方式与桌面应用程序相同。区别在于执行模式和满足所需技术目标所需的知识要求。我认为很多时候人们试图使用可靠的编程最佳实践来创建 Web 应用程序,而不考虑定义 Web 或在线环境专有技术的标准。如果成品希望获得成功,那么列出的标准必须得到很好的解决和遵守。
      • 我认为这个答案完全没有抓住重点。这是关于需求规格的。为什么这个列表甚至包括 SEO?
      【解决方案3】:

      基本上,您可以使用与桌面应用程序相同的方法,尽管您可能会做一些补充,因为我们的应用程序往往有不同类型的需求。首先,阅读一些关于用例的好东西,有不同的用例级别,这可能是您的用例看起来不太正确的解决方案。如果 CRUD 重复是问题,也不要忘记用例泛化和参数化用例。在 Web 应用程序中通常比在桌面应用程序中更重要的一件事是可用性方面。这是因为网络的性质 - 人们有不使用您的服务的coice,如果您的应用程序不可用,则转到下一个谷歌结果。因此,我认为规范的一个很好的补充是 Personas - 只需为您的用例找到一些可能的人类参与者实例,并尝试考虑他们可能希望经常使用您的 Web 应用程序实现的一些目标,并展示他们将如何实现他们使用你的网络应用程序(当然,尽量让它变得超级简单)。另一个重要的事情是信息架构——您将在 Web 应用程序中提供信息的方式。这包括导航、一些基本布局,但不一定是设计,只是有关在 Web 应用程序中的何处查找内容的信息。这可以使用一些快速原型制作工具来完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-11
        相关资源
        最近更新 更多