精华内容
下载资源
问答
  • 需求分析文档、概要设计文档、详细设计文档
    千次阅读
    2020-08-06 15:56:49

    由于项目工作需要 ,需要提供《软件需求规格说明书》,《软件概要设计说明书》和《软件详细设计说明书》。所以这里整理学习一下相关文档需要的内容。文章并不设计对所有需求分析,概要设计和详细设计的详细描述。因为这其中的任何一点都可以单独提取出来成为软件工程学科中的一本书籍内容。

    1 软件设计的整体流程:

    • 软件需求分析阶段:输出了《软件需求规格说明书》,不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作,搞清楚“要解决什么问题”。
    • 概要设计阶段:确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系,选择的技术路线。有一些研究与论证性的内容。并输出《软件概要设计说明书》。搞清楚“总体实现方案”
    • 详细设计阶段:对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。是“程序”的蓝图,确定每个模块采用的算法、数据结构、接口的实现、属性、参数。并输出《软件详细设计说明书》。搞清楚“每个模块怎么做”

    2 需求分析

    2.1 我们为什么需要《软件需求规格说明书》 ?

    如果需求的编写只是为了解释说明软件实现的功能,那么良好的编码结构,代码注释就可以很好的实现软件的功能说明,程序员可以将编写需求的时间节约下来进行更多功能的实现; 可是,这样的情况可能更多适用于中小型项目,或者互联网项目,因为这样的项目需求不复杂,并且需求变化很快,所以研发的效率非常重要。然而,针对大型软件项目或者功能比较复杂的系统,软件研发可能是多人协作的成果,所以在信息传递过程中, 我们只有提前考虑好软件需求的内容,才能正确评估开发软件所需要的时间,成本的要素,从而更好的管理项目。

    2.2 《软件需求规格说明书》的一般结构

    • 正文的第一章内容是1.概述,包含
      1.1.编写目的;1.2.术语与定义;1.3.参考资料;三个部分
    • 第二章要给出该项目的标准和规范,在文档的后续内容编写中以及项目开发过程中必须遵照这个标准和规范进行。
    • 第三章应该说明该项目的相关假设、限制和一些依赖条件,在后续系统部署的过程中可以有参考意义。
    • 第四章“功能规格”是重点,重点介绍这个系统的角色,界面设计思路,系统的功能视图和功能点清单,以及系统的需求用例。这个内容必须详细描述,这样才能对后续的开发和测试提供指导意义。
    • 第五章“非功能规格”要对项目的性能、安全、数据的备份恢复等内容解释解释说明,一个项目除了功能完整之外,还要考虑性能、安全等相应的要求。
    • 第六章“附录”,是对软件需求规格说明书的一些补充说明文档,其中的“软件需求跟踪矩阵”是重点,这份文档是对后续需求的完善程度进行了严格的控制。

    3 概要设计

    3.1 《概要设计说明书》的一般结构:

    • 总述:需求或目标(讲一下事情的起源)、环境、局限;
    • 总体设计:从全局的角度说一下 组织结构、功能、处理流程、有哪些模块、模块间的关系,运行环境等。(输出图:系统结构图,系统流程图,数据流程图,推荐在线画图工具https://www.processon.com/
    • 外部接口:总体说明外部用户、软、硬件接口(可用资源);
    • 模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在什么逻辑位置、物理位置。

     

    模块设计,可以写以下内容:
       1、模块描述:说明哪些模块实现了哪些功能;
       2、模块层次结构:可以使用某个视角的软件框架图来表达;
       3、模块间的关系:模块间依赖关系的描述,通信机制描述;
       4、模块的核心接口:说明模块传递的信息、信息的结构;
       5、处理方式设计:说一些满足功能和性能的算法;
    
    • 数据结构:逻辑结构、物理结构。
    • 容灾设计:出错信息、出错处理。(可选)
    • 监控设计:运行模块组合、控制、时间。(可选)
    • 用户界面设计:(可选)。
    • 安全设计:(可选)。
    • 其它设计:(可选)。
    • 制定规范(附录): 设计原则,代码规范、接口规约、命名规则。

    3.2 概要设计需要注意的地方

    • 用来评价总体设计的可行性。
    • 用来检查设计的模块是否完整,保证每一个功能都有对应的模块来实现。
    • 用来评估开发工作量、指导开发计划(在不写详细设计的情况下)。
    • 概要设计阶段过于重视业务流程是个误区.
    • 概要设计阶段过于重视细节实现是个误区.

    4 详细设计

    4.1 《详细设计说明书》的一般结构:

    参考如何撰写软件详细设计内容?

    • 引言,包含:
      编写目的,背景,参考资料,术语定义及说明

    • 设计概述,包含:任务和目标,需求概述,运行环境概述, 条件与限制,详细设计方法和工具

    • 系统详细需求分析,包含:详细需求分析,详细系统运行环境及限制条件分析接口需求分析

    • 总体方案确认,包含: 系统总体结构确认, 系统详细界面划分

    • 系统详细设计,包含: 系统结构设计及子系统划分,系统功能模块详细设计(采用HIPO图进行功能分解与模块描述,,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。), 系统界面详细设计

     

    每个模块的描述说明可参照以下格式:
    
    **模块编号:**
    
    **模块名称:**
    
    **输入:**
    
    **处理:**
    
    **算法描述:**
    
    **输出:**
    
    • 数据库系统设计

    4.2 详细设计需要注意的地方

    如果有或者有必要,特别是大型的软件系统,详细设计阶段划分系统功能模块或子系统。

    5 概要设计和详细设计的区别

    5.1 概要设计阶段:

    在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。主要集中于划分模块、分配任务、定义调用关系。模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。
    概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

    5.2 详细设计阶段

    在这个阶段,各个模块可以分给不同的人去并行设计。在详细设计阶段,设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。
    详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。

    参考文章

    软件需求规格说明书模板
    软件概要设计-模板
    软件概要设计做什么,怎么做
    互联网公司研发RD如何撰写总体设计与详细设计文档
    项目开发过程中详细设计和概要设计有什么区别和要求?
    如何撰写软件详细设计内容?

     

     

    更多相关内容
  • 这是一个系列的项目管理文档之一,一共有6份模板文档,其他5个文档模板(软件开发总纲、软件概要设计、软件详细设计、软件数据库设计、软件测试大纲)在我另外的下载中,你也可以按照自己需要去我的其他下载中下载
  • 主要是项目开发前期进行项目需求调研报告,文件信息,修改历史,项目描述,用户环境描述,功能性需求描述,非功能性需求描述,其他信息
  • 1.2、 文档范围 4 1.3、 预期读者和阅读建议 4 1.4、 参考资料 4 二、 项目描述 4 2.1、 项目背景 4 2.2、 项目名称 5 2.3、 项目概述 5 2.4、 项目关联性 5 2.5、 设计和实现上的限制 5 2.6、 假定和约束 6 2.7、 ...
  • BI设计需求分析文档

    2018-09-21 14:21:54
    BI设计需求分析文档
  • 软件需求分析文档

    2018-02-27 10:56:05
    通过本文档,可以快速编辑需求文档,对初涉及这一块的同学,有一定帮助
  • 需求分析文档

    2018-03-20 22:37:41
    非常好的需求分析文档需求分析文档的格式,如何做需求分析
  • 软件开发需求分析文档。可以作为学习和工作中重要的参考资料
  • 这是一个给开发者的技术文档,根据需求我们可以编辑自己的小说网站
  • 需求文档示例:需求分析文档(游戏门户网站的会员管理)
  • 一份需求分析的实例文档 ,软件工程需求分析案例文档,编写需求分析可以参考
  • 【软件工程】需求分析文档——需求规格说明书

    万次阅读 多人点赞 2021-03-18 10:13:37
    文章目录1 引言1.1 编写目的1.2 背景1.3 术语和缩略词1.4 参考资料2 任务概述2.1 项目概述2.1.1 项目来源及背景2.1.2 项目目标2.1.3 系统功能概述2.2 用户特点2.3 假定和约束3 功能需求3.1 功能划分3.1.1 系统功能...

    【备注】本说明书由华中农业大学2018级计算机科学与技术专业的刘畅、刘铠铭、张清望、卢家伟四位同学共同完成。

    1 引言

    1.1 编写目的

      本文档的目的是详细地介绍Asking APP所包含的需求,以便客户能够确认产品的确切需求以及开发人员能够根据需求设计编码,以下叙述将结合文字描述、数据流图、ER图等来描述Asking APP的功能、性能、用户界面、运行环境、外部接口以及针对用户操作给出的各种响应。本文档的预期读者有客户、项目经理、开发人员以及跟该项目相关的其他竞争人员。

    1.2 背景

      该项目适用于喜欢社交并且有想法的年轻人群体,由辣鸡搬砖喵喵团队进行后续的开发和实施工作。

    1.3 术语和缩略词

    (1)问题箱:一种私密问题。该类问题的回答者仅可以通过Id搜索到问题,输入密钥后查看,并且所有回答都是匿名状态。

    (2)硬币:软件内虚拟货币。每日签到可以获取2枚硬币,为赞同的回答点赞时会消耗硬币,并且该硬币会转移给回答者。

    (3)称号:根据持有硬币数所给予的等级,依次为:见习、水手、舰长、提督、总督。称号等级高者可表明他收到过大量的赞或者使用此软件的时间较长。

    1.4 参考资料

    [1]窦万峰.软件工程方法与实践(第三版).北京:机械工业出版社,2016

    [2]普莱斯曼.软件工程:实践者的研究方法(原书第8版).北京:机械工业出版社,2016

    2 任务概述

    2.1 项目概述

    2.1.1 项目来源及背景

      Asking APP是一款针对年轻人的咨询类社交软件,大家可以在这里分享自己有趣的想法,以及咨询自己的烦心事或畅聊每天的趣事,现在市场上大部分的咨询类社交软件都不仅仅是帮助用户解决问题,还掺杂了一些诸如推送广告、推销等的附带功能,所以我们推出Asking APP,主打咨询类社交,无其他附带功能。

    2.1.2 项目目标

      该项目的市场目标为年轻人群体、咨询类社交软件市场,应用目标为实现咨询社交专一化,不掺杂其他功能。

    2.1.3 系统功能概述

    (1)搜索:通过问题标题、标签或问题箱id进行模糊搜索显示结果列表。

    (2)提问、删除问题:提出问题、删除自己提出的问题。

    (3)创建、删除问题箱:创建问题箱并分享给好友、删除自己创建的问题箱。

    (4)查看、回复问题:查看该问题及其回答、回答该问题。

    (5)增加、删除回答:回答别人提出的问题,删除自己做出的回答。

    (6)个人中心:查看基本资料和功能列表,可以签到、修改资料。

    2.2 用户特点

      本产品的用户主要是20~35岁的年轻人群体,这类人群的主要特点是思维活跃,而且接受新鲜事物的能力比较强,他们时常浏览各大社交软件,发表自己的观点与想法,在Asking上可以提出自己的问题,同时也可以回答别人提出的问题,或者创建自己的私密问题,以满足自己的在一定程度上的社交需求。

    2.3 假定和约束

    (1)人力和时间的约束:本APP开发过程中需要考虑到人力和时间的约束,相较于一些软件的开发团队来说人员较少时间较短。

    (2)技术发展的约束:计算机技术和发展的日新月异,将会给信息处理带来更多手段,同时也会带来更加丰富的信息表达形式,例如现在发展起来的人工智能等等,可能导致我们在搜索问题的时候没有那么智能,这就要求软件在设计时要考虑技术变化的可能性,为可能的变化预留一定的处理能力。

    3 功能需求

    3.1 功能划分

    3.1.1 系统功能组成

    (1)Asking的顶层数据流图

    在这里插入图片描述

              图 1 Asking顶层数据流图

      描述:如图1所示,用户可以扮演两种角色——提问者、回答者。当用户扮演提问者的角色时,可以向Asking系统发送事务,同时提问者可以浏览Asking系统返回的事务,即提问者与Asking系统有双向的数据流动。当用户扮演回答者的角色时,可以向Asking系统发送事务,同时回答者可以浏览Asking系统返回的事务,即回答者与Asking系统也有双向的数据流动。

    (2)Asking的0层数据流图

    在这里插入图片描述

              图 2 Asking 0层数据流图

      描述:如图2所示,用户(包括两种角色——提问者、回答者)通过提交身份信息向用户登录事务发送请求。用户登录事务从用户信息库中读取相应的用户信息进行匹配判断登录结果。用户登录成功后,问题推送事务将要根据用户信息推送问题,用户可以进行个人信息管理、搜索问题、提问管理操作。用户进行搜索问题操作时,用户提供的搜索信息流动到搜索问题事务,搜索问题事务对搜索信息进行相应的处理后得到问题信息。系统对用户进行问题推送时,用户信息流动到问题推送事务,问题事务对用户信息进行处理得到请求信息。用户进行提问时,用户的提问者身份信息和提问信息流动到提问管理事务,提问管理事务对提问者身份信息和提问信息进行处理得到问题信息。以上三种操作分别得到问题信息、请求信息和问题信息,这三种信息均传送到问题信息库。问题信息库流出问题信息到问题查看事务,问题查看事务对问题信息处理后将得到的回答者身份信息和回答信息发送到问题回答管理事务。问题回答管理事务分别发送回答信息到回答信息库,发送问题列表到问题查看事务。

    3.1.2 功能编号和优先级

    功能编号功能优先级
    1用户登录
    2个人信息管理
    3搜索问题
    4问题推送
    5问题查看
    6回答管理
    7提问管理
    8回答查看

    3.2 功能描述

    (1)用户登录

    ​   功能描述:如图3所示,用户登录可以分为注册和登陆。注册时用户提供新用户注册信息发往注册事务,注册事务根据新用户注册信息得到新用户信息存入用户信息库,同时流动出用户信息。登录时用户提供用户名和密码发往登录事务,登录事务将得到的用户名和密码与用户信息库中的信息匹配,同时流动出用户信息。

    在这里插入图片描述

              图 3 用户登录功能细化数据流图

                表1 登录加工说明

    加工名称:1.1 登录使用单位:所有用户
    输入部分 I处理描述 P输出部分 O
    ·用户名、密码① 用户利用自己的用户名和密码进行登录。·用户信息

                表2 注册加工说明

    加工名称:1.2 注册使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·用户注册信息① 新用户输入用户名(邮箱)、密码、昵称进行注册·用户信息

    (2)个人信息管理

    ​   功能描述:用户登录后可以进行相应操作进入个人信息管理界面,用户可以在此页面修改自己的个人信息。

                表3 个人信息管理加工说明

    加工名称:2 个人信息管理使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·当前用户信息① 用户对自己的个人信息进行修改和保存·修改后的个人信息

    (3)搜索问题

    ​   功能描述:如图4所示,用户在搜索栏输入相应的搜索信息。搜索信息可以是问题箱ID或者是问题标题。问题箱ID进入搜索问题箱事务,搜索问题箱事务处理传入的问题ID流动出问题箱内容。问题标题进入搜索问题事务,搜索问题事务处理传入的问题标题流动出问题内容。

    在这里插入图片描述

              图 4 搜索功能细化数据流图

                表4 检索模式选择加工说明

    加工名称:3.1 检索模式选择使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·搜索信息① 用户输入想要搜索的信息,系统根据输入的信息判定搜索模式:是标题则是搜索普通问题、是ID则是搜索问题箱。·问题箱ID或问题标题

                表5 搜索问题箱加工说明

    加工名称:3.2 搜索问题箱使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·问题箱的ID① 系统根据输入的问题箱ID搜索问题箱·搜索到的问题箱内容

                表6 搜索问题加工说明

    加工名称:3.3 搜索问题使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·问题的标题① 系统根据输入的问题标题查找含有该字符的问题·搜索到的问题内容

    (4)问题推送

    ​   功能描述:用户选择该功能后,系统会发送请求,从问题库中选择较新和较热门的问题推送给用户。

                表7 问题推荐功能加工说明

    加工名称:4 问题推送使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·用户信息系统根据用户信息推荐相关问题给用户·推荐的问题信息

    (5)问题查看

    ​   功能描述:用户可以查看问题的标题、标签、作者和描述,以及所有回答。

                表8 问题查看功能加工说明

    加工名称:5 问题查看使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·问题信息系统根据问题信息将问题内容展示给用户·问题信息

    (6)回答管理

      功能描述:如图5所示,回答问题信息进入功能划分事务,功能划分事务流动出回答信息及删除指令和回答信息。回答信息及删除指令进入删除回答事务,处理出待删除回答并存入回答信息库。回答信息进入问题分类事务,处理出匿名回答或记名回答,分别进入新增私密回答事务和新增普通回答事务,之后经过处理得到回答内容进入回答信息库。从回答信息库流动出回答列表。

    在这里插入图片描述

              图 5 回答管理功能细化数据流图

                表9 功能划分加工说明

    加工名称:6.1功能划分使用单位:回答者
    输入部分 I处理描述 P输出部分 O
    ·回答信息身份信息或相关操作指令系统根据操作指令判定用户要执行什么功能·相关功能所需信息

                表10 删除回答加工说明

    加工名称:6.2 删除回答使用单位:回答者
    输入部分 I处理描述 P输出部分 O
    ·待删除回答信息系统根据输入的待删除回答信息删除该问题·删除记录

                表11 回答分类加工说明

    加工名称:6.3 回答分类使用单位:回答者
    输入部分 I处理描述 P输出部分 O
    ·回答信息系统根据回答信息是否匿名,分类为匿名回答和记名回答·分类后的回答信息

                表12 新增私密回答加工说明

    加工名称:6.4 新增私密回答使用单位:回答者
    输入部分 I处理描述 P输出部分 O
    ·匿名回答内容系统将回答内容写入数据库·回答内容

                表13 新增普通回答加工说明

    加工名称:6.5新增普通回答使用单位:回答者
    输入部分 I处理描述 P输出部分 O
    ·记名回答内容系统根据输入的回答写入数据库·回答内容

    (7)提问管理

      功能描述:如图6所示,问题信息和身份信息进入功能划分事务,功能划分事务流动出问题信息及删除指令或问题信息。问题信息及删除指令进入删除问题事务,经过处理后流动出待删除问题存入到问题信息库。问题信息进入问题分类事务,问题分类事务处理问题信息分为问题箱问题和普通问题,分别进入新增问题箱事务和新增普通问题事务,之后处理得到问题内容存入问题信息库。从问题信息库流动出问题列表。

    在这里插入图片描述

              图 6 提问管理功能细化数据流图

                表14 功能划分加工说明

    加工名称:7.1功能划分使用单位:提问者
    输入部分 I处理描述 P输出部分 O
    ·回问题信息身份信息或相关操作指令系统根据操作指令判定用户要执行什么功能·相关功能所需信息

                表15 删除问题加工说明

    加工名称:7.2 删除问题使用单位:提问者
    输入部分 I处理描述 P输出部分 O
    ·待删除问题信息系统根据输入的待删除问题信息删除该问题·删除记录

                表16 问题分类加工说明

    加工名称:7.3 问题分类使用单位:提问者
    输入部分 I处理描述 P输出部分 O
    ·问题信息系统根据问题信息是否含有密钥,分位普通问题和问题箱·分类后的问题信息

                表17 新增问题箱加工说明

    加工名称:7.4 新增问题箱使用单位:提问者
    输入部分 I处理描述 P输出部分 O
    ·问题箱内容系统将问题箱内容写入数据库·问题内容

                表18 新增普通问题加工说明

    加工名称:7.5新增普通问题使用单位:提问者
    输入部分 I处理描述 P输出部分 O
    ·普通问题内容系统根据输入的问题写入数据库·问题内容

    (8)回答查看

    ​   功能描述:列出对应问题的所有回答供用户查看

                表19 查看回答加工说明

    加工名称:8 回答查看使用单位:用户
    输入部分 I处理描述 P输出部分 O
    ·问题列表系统根据问题列出该问题的所有回答·回答列表

    4 数据需求

    4.1 静态数据

    用户信息、问题信息、问题的回复、问题箱信息和问题箱回复。

    4.2 动态数据

    用户自己输入的问题箱密钥、判断用户某一个行为后的状态码和提示消息。

    4.3 数据字典

    1.数据流条目

    (1)身份信息

    名称身份信息
    简述描述提问者和回答者的身份
    来源提问者、回答者
    去处1用户登录

    (2)用户名

    名称用户名
    简述用户登录的账号
    类型varchar
    长度1024
    来源1用户登录
    去处D1用户信息库

    (3)密码

    名称密码
    简述用户登录的账号对应的密码
    类型varchar
    长度1024
    来源1用户登录
    去处D1用户信息库

    (4)搜索信息

    名称搜索信息
    简述用户发出搜索问题的信息
    来源1用户登录
    去处3搜索问题

    (5)提问者身份信息

    名称提问者身份信息
    简述描述提问者的身份信息
    来源1用户登录
    去处5提问管理

    (6)提问信息

    名称提问信息
    简述用户发出提问问题的信息
    来源1用户登录
    去处5提问管理

    (7)请求信息

    名称请求信息
    简述推送问题的请求信息
    来源4问题推送
    去处D2问题信息库

    (8)回答者身份信息

    名称回答者身份信息
    简述描述回答者的身份信息
    来源5问题查看
    去处6回答管理

    (9)问题列表

    名称问题列表
    简述描述问题的排列顺序
    来源6回答管理
    去处8回答查看

    (10)新用户注册信息

    名称新用户注册信息
    简述新用户进行注册的信息
    来源用户
    去处1.2注册

    (11)问题箱ID

    名称问题箱ID
    简述问题箱的编号
    类型int
    长度11
    来源3.1检索模式选择
    去处3.2搜索问题箱

    (12)问题箱内容

    名称问题箱内容
    简述问题箱的内容
    类型text
    来源3.2搜索问题箱

    (13)问题标题

    名称问题标题
    简述问题的概括性简述
    类型text
    来源3.1检索模型选择
    去处3.3搜索问题

    (14)问题内容

    名称问题内容
    简述问题的内容
    类型text
    来源3.3搜索问题

    (15)删除指令

    名称删除指令
    简述用户发出的删除问题或回答的指令
    来源6.1功能划分、7.1功能划分
    去处6.2删除回答、7.2删除问题

    (16)匿名回答

    名称匿名回答
    简述用户匿名对问题的回答
    来源6.3回答分类
    去处6.4新增私密回答

    (17)记名回答

    名称记名回答
    简述用户发出的删除问题或回答的指令
    来源6.3回答分类
    去处6.5新增普通回答

    (18)回答内容

    名称回答内容
    简述用户回答问题的内容
    类型text
    来源6.4新增私密回答6.5新增普通回答
    去处D3回答信息库

    (19)待删除回答

    名称待删除回答
    简述用户想要删除的回答
    来源6.2删除回答
    去处D3回答信息库

    (20)待删除问题

    名称待删除问题
    简述用户想要删除的问题
    来源7.2删除问题
    去处D3问题信息库

    (21)问题箱问题

    名称问题箱问题
    简述问题箱里面的问题
    来源7.3问题分类
    去处7.4新增问题箱

    (22)普通问题

    名称普通问题
    简述普通问题
    来源7.3问题分类
    去处7.5新增普通问题

    2.数据存储条目

    (1)用户信息

    名称用户信息
    简述描述用户的信息
    组成用户名+密码+昵称+头像
    组织方式以用户名为关键字

    (2)新用户信息

    名称新用户信息
    简述描述新用户的信息
    组成用户名+密码+昵称+头像+个性签名+性别+硬币数
    组织方式以用户名为关键字

    (3)问题信息

    名称问题信息
    简述描述问题的信息
    组成问题编号+问题内容+问题标题+标签+问题创建时间+问题浏览量+问题评论量
    组织方式以问题编号为关键字

    (4)回答信息

    名称回答信息
    简述描述回答的信息
    组成回答编号+回答内容+点赞量+回答时间
    组织方式以回答编号为关键字

    4.4 数据库描述

    软件的数据库概念模型(ER图)

    在这里插入图片描述

                图 7 Asking 概念模型

      由图7所示,该ER图中共有五个实体,分别为用户、问题、问题回复,问题箱和问题箱回复,其中用户以用户名为关键字,问题以其编号为关键字,问题回复以其编号为关键字,问题箱以其编号为关键字,问题箱回复以其编号为关键字,图中所有关系均为一对多的关系。

    5 性能需求

    5.1 数据精度

    字段精度备注
    用户名char型邮箱
    密码char型8-12位
    昵称char型
    用户是否存在map型前端传过来含有用户名和密码的json对象,后端接受到之后在数据库中匹配,返回是否匹配的信息给前端
    问题箱IDint型

    5.2 时间特性

    (1) 响应时间:用户任意操作后5秒内系统给予反馈信息。

    (2) 更新处理时间:由系统运行状态来决定。

    (3) 数据的转换和传送时间:能够在20秒内完成。

    5.3 灵活性

      当需求发生某些变化时,该软件的基本操作、数据结构、运行环境等等基本不会发生变化,只是对系统的数据库的文件和记录进行处理,就可以满足需求。

    6 运行需求

    6.1 用户界面

    (1)注册:用户填写该页面的“用户名”、“昵称”、“密码”、“确认密码”信息后点击提交即可成功注册,返回“注册是否成功的消息”。

    (2)登录:用户填写该页面的“用户名”、“密码”信息后点击登录即可成功登录,如果用户没有账号可以点击下方的链接进行注册。

    (3)主页:此页面中央显示“随机问题列表”;点击列表中某个问题可以查看该问题的问题详情;点击列表中的某个头像可以查看该用户的“个人信息”;用户在上方搜索框内输入“搜索信息”后回车,下方列表即变为“包含搜索信息的问题”。

    (4)个人中心:点击用户头像可以修改资料;点击签到可以进行本日签到;中间提供该用户的基本数据信息;下方提供列表,包括我的主页、我的回答、我的提问、创建问题、帮助提示这几个功能;点击最下方的退出可以登出用户。

    (5)修改资料:点击头像旁边的上传新头像后可以更新头像;填写修改信息下的“用户名”、“昵称”、“密码”、“性别”、“简介”后点击确认修改可以修改用户的信息。

    (6)我的回答:列出来了该用户的所有回答信息,点击删除即可删除该条回答信息;点击该回答会返回该问题的所有信息。

    (7)我的提问:切换标签来展示不同类型的问题;点击删除即可删除该条问题;点击该问题会返回该问题的所有信息;在“问题箱”中点击分享,即可自动复制一份“邀请回答”链接。

    (8)创建问题:输入问题的“标题”、“是否设为问题箱”、“标签”、“问题描述”后点击发布问题即可成功创建一个问题。

    (9)查看问题:提供该问题的“标题”、“标签”、“作者”、“描述”,以及所有回答;用户可以点击赞给喜欢的回答点赞;可以在下方的评论区输入“评论”后点击发布评论即可发布一条对该问题的评论。

    (10)回答问题箱:展示了该问题箱的“标题”和“描述”,用户成功输入密钥后填写该问题的回答后,点击提交评论后即可发布一条对该问题箱的评论。

    (11)查看问题箱:展示了该问题箱的信息,用户可通过点击上一页和下一页来查看回答。

    (12)查看用户:查看该用户的头像、昵称和基本数据信息。

    6.2 软件接口

    1.操作系统:Microsoft Windows 10

    2.软件设备:VScode、IntelliJ IDEA、MySQL8.0

    6.3 硬件接口

    1.内存:512M以上

    2.磁盘空间:40G以上

    3.CPU:233Mhz以上

    4.硬盘空间:1.5G以上

    7 其他需求

    7.1 验收标准

    测试功能测试项输入/操作检验点预期结果验收
    登录功能登录单击用户名输入框,输入用户名用户名和密码检查符合形式,输入错误,提示用户名或密码有问题,请重新输入
    单击密码框,输入密码密码框保护输入的字符在密码框隐藏
    用户登录成功界面创建问题单击创建问题,输入相应内容问题成功创建查看问题页面显示已经创建的问题
    回复问题点击问题,进行评论、点赞或赞赏评论、点赞、赞赏问题下面显示回复以及点赞数和赞赏数
    搜索问题在查询框内输入标签或id搜索问题搜索查询框下显示相应的问题
    删除问题在个人中心我的问题里点击问题选择删除刷新该页面问题成功被删除,查看问题页面不再显示

    7.2 质量属性

    1.可用性:用户可以使用

    2.可靠性:在给定时间内可以大致上满足无错运行的要求

    3.可维护性:服务器重启、写进日志

    4.安全性:对用户的密码加密

    5.可移植性:移动端移植

    展开全文
  • 需求分析文档模板

    2014-12-12 10:57:33
    需求规格说明书,以模板形式出现,提供给大家下载参考
  • 软件开发过程中所需要的文档,有参考价值。
  • 需求分析文档需求分析文档需求分析文档需求分析文档
  • 里面包括十几个在线商城的需求分析,是我以前做网上商城时的参考资料,里面的文档都比较有用,有需要下载下来借鉴一下,可以省去不少麻烦
  • 博客系统的需求分析文档 来自清华大学计算机系
  • (源码+需求分析文档+数据库设计文档)家庭财务管理系统。 一个小型的家庭财务管理系统,运行平台vs2008+sql2005;压缩文档中包括源码,需求分析文档和数据库设计文档。 财务管理 系统 VS SQL 源码 需求分析 数据库...
  • 发债业务需求分析文档发债业务需求分析文档发债业务需求分析文档发债业务需求分析文档发债业务需求分析文档发债业务需求分析文档
  • 文档主要描述简书APP的功能需求点及其设计,目的在于清晰地定义各模块的需求细节及逻辑流程。 2.2 文档读者 本文档主要面向以下读者:简书APP项目的研发人员、测试人员、产品经理、市场运营人员、管理人员等。 ...
  • 需求分析 文档 模板

    2011-07-01 22:59:55
    需求分析文档是很多项目中都要用到需求分析文档,如要设计好,文档的果实和内容都很重要,以下是需求分析文档的模板。
  • 软件需求分析文档模版

    万次阅读 多人点赞 2016-06-23 18:05:26
    软件需求分析文档模版(转载自国家计算机标准和文件模板) 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是...
    软件需求分析文档模版(转载自国家计算机标准和文件模板)
     
    软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
     
    软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。
     
    需求分析可分为需求提出、需求描述及需求评审三个阶段。
     
    需求提出主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。
     
    在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。
     
    在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。
     
    软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
    1 引言
    1.1编写目的
      说明编写这份软件需求说明书的目的,指出预期的读者。
    1.2背景 
      说明: 
      a.待开发的软件系统的名称;
      b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
      C.该软件系统同其他系统或其他机构的基本的相互来往关系。 
    1.3定义
      列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
    1.4参考资料 
      列出用得着的参考资料,如:
      a.本项目的经核准的计划任务书或合同、上级机关的批文;
      b.属于本项目的其他已发表的文件;
      c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
    2 任务概述 
    2.1目标 
      叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
    2.2用户的特点 
      列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
    2.3假定和约束
      列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
    3 需求规定 
    3.1对功能的规定
      用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。 
    3.2对性能的规定
    3.2.1精度 
      说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
    3.2.2时间特性要求 
      说明对于该软件的时间特性要求,如对:
      a.响应时间;
      b.更新处理时间;
      c.数据的转换和传送时间;
      d.解题时间; 等的要求。
    3.2.3灵活性 
      说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
      a.操作方式上的变化;
      b.运行环境的变化; 
      c.同其他软件的接口的变化;
      d.精度和有效时限的变化; 
      e.计划的变化或改进。 
      对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
    3.3输人输出要求
      解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
    3.4数据管理能力要求 
      说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。 
    3.5故障处理要求
      列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
    3.6其他专门要求
      如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。 
    4 运行环境规定 
    4.1设备 
      列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
      a.处理器型号及内存容量;
      b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
      c.输入及输出设备的型号和数量,联机或脱机; 
      d.数据通信设备的型号和数量;
      e.功能键及其他专用硬件
    4.2支持软件 
      列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
    4.3 接口
      说明该软件同其他软件之间的接口、数据通信协议等。
    4.4控制 
      说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
    转载自:http://blog.csdn.net/jiftlixu/article/details/7238517
    展开全文
  • 要求与规范,软件需求分析文档编写规范
  • Java Web 课程设计需求分析文档 理财系统需求分析文档 一、引言 1.1编写目的: 软件需求分文档是为了让用户与开发人员对最早形态,或者说第一个版本的软件有一个充分的认识,理解软件的根本需求、开发公约与使用说明...

    Java Web 课程设计需求分析文档

    理财系统需求分析文档

    一、引言

    1.1编写目的:

      软件需求分文档是为了让用户与开发人员对最早形态,或者说第一个版本的软件有一个充分的认识,理解软件的根本需求、开发公约与使用说明。需求分析文档是整个软件的开发过程基础的一部分。对于本理财系统项目,编写需求分析文档是为了说明系统各部分对应的功能,了解功能组织架构,系统安全的对应措施,方便开发人员进行代码编写,为系统的开发或者完善打下良好基础。

    1.2项目背景:

      本项目基于Java EE面向企业级的开发,用于检测本次实训对JavaEE的学习。随着科学的发展与社会的进步,互联网逐渐与每个人密不可分。而作为互联网的基础,一个人无论日常生活、工作学习,都离不开计算机。对于感知不强的普通人,可能计算机只是方便了自己。但对于竞争激烈的企业,计算机意味着效率的革命。信息化建设的进步,意味着核心竞争力的前进。以现代化的眼光对传统企业进行分析,我们会发现传统企业的运行成本高昂、管理方式落后、数据操作复杂和安全性能低下。很多重复性无意义的工作,需要安排人员专门进行处理,人工操作缓慢,又需要采购专门的设备配合。人与设备的交互又意味着后期的维护成本与升级成本。采用计算机管理之后,不但运算执行远远高于人的速度,出错率也大大下降,意味着设备毁坏的几率也大大下降。传统的管理方式,一项审批往往意味着多个办公室奔波,命令的下达也要集合所有人员口头通知,麻烦又容易忘记。如果有一个公共网站,审批可以直接在网上进行,工作下达直达个人,也可以存储实时提醒。管中窥豹,可见一斑。其它不再举例,我们也能认识到计算机对于企业的重要意义。通过计算机,企业可以精简编制,降低成本,数据存储、查询、操作迅速。而本项目为了提高公司对用户操作的管理效率,提供可视化、友好、简洁的操作界面,没有使用门槛,可以让管理员或者用户快速的熟悉系统、使用系统。项目也发挥计算机软件协同工作的高效,具有数据存储迅速、安全、查询快捷、更改方便,存储成本低等优点。

    二、综合描述

    2.1项目简介

      我们项目是用于个人理财的管理,是为了方便用户清晰、快捷地进行理财投资,同时方便管理员对用户信息进行快捷管理等。个人理财是对自身财务状况的管理,以实现财产保值、增值的目的。我们的生活离不开资金,理财便与我们每个人息息相关。这个个人理财系统具有如下的一些功能:对于管理员,可以实现用户信息管理:管理用户的个人信息、银行卡信息、个人征信信息。产品理财管理:管理零钱理财信息、工资理财信息、期限理财信息、基金理财信息以及推荐精选银行。权限管理:设置用户的个人理财和金融工具功能。网贷管理:对用户的网贷信息进行审核以及提醒用户及时还款。对于用户,可以实现个人理财:用户可以进行零钱理财、工资理财、期限理财、基金理财以及查看银行推荐。金融工具:用户可以查看自己的资金记录以及进行安全网贷。个人中心:用户可以管理自己的理财、借贷、银行卡和账户信息。

    2.2项目功能需求分析

      本系统首先用户或管理员要通过一定身份验证,才能进入系统,使用到本系统所提供的相应服务。基本功能描述如下。

    2.2.1基本功能描述:

    1. 用户注册:通过用户在此界面输入相关的信息,完成账号与密码以及个人信息在数据库中的录入,并由此获得一个可进入系统的Id和密码。

    2. 登录:通过让用户输入账号、密码和验证码,再将用户Id与密码与数据库中用户注册时的数据进行比对,Id与密码都正确提示登录成功,页面跳转;如果密码与Id不对,提示用户,密码输入错误,请他重新输入。如果用户ID为管理员ID,则登录跳转到管理员界面。

    3. 退出:主要是为了保护用户的账户安全,防止因无法退出而产生的账户不安全行为。通过点击右上角头像下拉菜单,点击退出登录即可返回登录界面。

    4. 修改界面颜色:用户可以通过右上角调色盘图表修改主题、LOGO、头部、侧边栏的颜色。

    2.2.2管理员功能描述:

    1. 用户信息管理:管理员可以对用户的个人信息、银行卡信息、个人征信信息进行编辑和删除。

    2. 产品理财管理:管理员可以对零钱理财信息、工资理财信息、期限理财信息、基金理财信息以及推荐精选银行进行编辑和删除。

    3. 权限管理:设置用户的个人理财和金融工具功能。

    4. 网贷管理:对用户的网贷信息进行审核以及提醒用户及时还款。

    2.2.3用户功能描述:

    1. 用户个人理财:用户可以从零钱理财、工资理财、期限理财、基金理财中选择合适的进行投资以及查看银行推荐。

    2. 用户金融工具:用户可以查看自己的资金记录以及进行安全网贷。

    3. 用户个人中心:用户可以管理自己的理财、借贷、银行卡和账户信息。

    4. 我的消息:用户可以查看、删除来自系统的消息。

    2.3项目系统架构图

      本项目系统架构图如图2.3所示:

    图2.3 系统架构图

    2.4项目E-R图

      项目E-R图,有工资理财模型、零钱理财模型、期限理财模型,基金理财模型,管理员借贷模型,管理员银行卡模型,管理员用户模型,用户贷款模型,用户银行卡模型。

      工资理财模型模型如图2.4-1所示
    图2.4.1 工资理财模型

      零钱理财模型如2.4-2所示

    图2.4.2 零钱理财模型

      期限理财模型如图2.4-3所示
    图2.4-3 期限理财模型

      基金理财模型如4.2-4所示
    图2.4-4 基金理财模型

      管理员借贷模型如图2.4-5所示
    图2.4-5管理员借贷模型

      管理员银行卡模型如图2.4-6所示
    图2.4-6管理员银行卡模型

      管理员用户模型如图2.4-7所示
    图2.4-7管理员用户模型

      用户借贷模型如图2.4-8所示
    图2.4-8用户借贷模型

      用户银行卡模型如图2.4-9所示
    图2.4-9用户银行卡模型

    2.5项目用例图

      项目用例图如2.5所示
    图2-5-1 用户用例图

    图2-5-2 管理员用例图

    三、项目其他需求

    3.1用户

      我们本项目的主要用户是个人,例如企业员工、自由职业者、个体户等等,但在实际生活中,这些群体对信息技术的接触往往并不深入,对他们而言所谓的个人理财管理系统或许还没有一个账本方便,所以一个实用的理财系统将追求在记录的基础上提供更多的功能与个性化服务,在减少用户工作量的同时为他们的财务规划提供更多可能。同时,基于之前提到过的原因,我们的客户端界面应当设计得尽可能简洁、明确,同时有充分的指导提供给用户。

      此外,个人理财涉及公民的重要个人信息,开发人员在信息安全上也要投入精力,官方将制定一个使用协定,规定在功能与安全上的各类事宜。确保用户在使用过程中能有尽可能简洁的界面、尽可能丰富的功能、尽可能完善的安全措施。

    3.2硬件需求

      我们开发硬件要求是我们成员的个人笔记本计算机,部署的服务器。在使用时,用户将可以通过浏览器访问系统界面,不局限于个人计算机。

    3.3软件需求

      软件要求:我们的集成开发环境是IDEA,MySQL数据库。

    3.4数据管理

    3.4.1基础数据管理

      数据库的管理主要是数据管理,针对数据实行备份、恢复、添加、删除等管理功能。其中备份包括本地备份和异地备份。

      定期备份完成后,可实现对损坏的数据库数据的恢复。

    3.4.1.1简要说明

      针对用户登录表、用户信息表、银行卡信息表等多个重要的信息表以及用户的多个项目的投资表等多个经常更新数据的信息表进行备份、恢复、添加、删除等管理功能。

    3.4.1.2事件流

    1)选择需要修改的数据类型

    2)添加、删除或者更新某些数据项

    3)上传给相关模块

    3.4.1.3前置条件

    3.4.1.4 后置条件

    修改的数据最终上传给其他模块

    3.4.1.5 扩展点

    展开全文
  • 测试分析报告(GB8567——88).doc 测试计划(GB8567——88).doc 概要设计说明书(GB8567——88).doc 开发进度月报(GB8567——88).doc 可行性研究报告(GB8567——88).doc 模块开发卷宗(GB8567——88)....
  • 做企业管理信息系统项目业务分析是一个很重要的环节, 此表是编写需求文档 实用的需求用例表模板,用于编写需求分析文档参考。
  • 需求分析文档模板,英文版的,里面有详细介绍应该写些什么内容,很有指导作用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 352,843
精华内容 141,137
关键字:

需求分析文档

友情链接: myiic.rar