新平台-02开发阶段软件需求说明书sdo变更集review wangwh_第1页
新平台-02开发阶段软件需求说明书sdo变更集review wangwh_第2页
新平台-02开发阶段软件需求说明书sdo变更集review wangwh_第3页
新平台-02开发阶段软件需求说明书sdo变更集review wangwh_第4页
新平台-02开发阶段软件需求说明书sdo变更集review wangwh_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求说明书第 页内部资料,注意保密软件需求说明书软件需求说明书2012年10月文档属性文档属性内容项目/任务编号文档名称文档版本号文档状态文档编写完成日期作者发布范围项目组成员文档变更历史清单文档版本号变更日期修改人备注3. 本次修改变更说明序号变更内容简述目录 TOC o 1-3 h z HYPERLINK l _Toc337468208 第 1 章总体说明 PAGEREF _Toc337468208 h 2 HYPERLINK l _Toc337468209 1.1需求背景 PAGEREF _Toc337468209 h 2 HYPERLINK l _Toc337468210 1.2基

2、本定义和术语 PAGEREF _Toc337468210 h 2 HYPERLINK l _Toc337468211 1.3业务需求 PAGEREF _Toc337468211 h 2 HYPERLINK l _Toc337468212 1.4机构与角色的对应关系表 PAGEREF _Toc337468212 h 2 HYPERLINK l _Toc337468213 1.5需求场景 PAGEREF _Toc337468213 h 2 HYPERLINK l _Toc337468214 1.6数据流图 PAGEREF _Toc337468214 h 2 HYPERLINK l _Toc3374

3、68215 1.7与其他应用、系统的关系 PAGEREF _Toc337468215 h 2 HYPERLINK l _Toc337468216 1.8前提条件与限制 PAGEREF _Toc337468216 h 2 HYPERLINK l _Toc337468217 第 2 章软件需求描述 PAGEREF _Toc337468217 h 2 HYPERLINK l _Toc337468218 2.1功能列表 PAGEREF _Toc337468218 h 2 HYPERLINK l _Toc337468219 2.2场景场景:项目管理 PAGEREF _Toc337468219 h 2 H

4、YPERLINK l _Toc337468220 2.2.1场景描述 PAGEREF _Toc337468220 h 2 HYPERLINK l _Toc337468221 2.2.2特性:支持创建BTP项目 PAGEREF _Toc337468221 h 错误!未定义书签。 HYPERLINK l _Toc337468222 第 3 章附件 PAGEREF _Toc337468222 h 2总体说明需求背景基本定义和术语业务需求无。机构与角色的对应关系表需求场景无。数据流图无。与其他应用、系统的关系无。前提条件与限制软件需求描述功能列表需求名称需求内容简述功能ID功能名称涉及角色需求属性附属

5、说明(如交易代码、作业名称等)场景:SDO的序列化与反序列化(JSON)场景描述【典型用户】开发人员。【用户需求】操作业务表单时,当表单业务数据发生变更时,需要将变更的表单数据传输至服务器做变更持久化操作。客户端传送JSON串到服务器端,服务器端需要将JSON串反序列化为SDO对象,再作变更持久化。客户端访问表单业务数据时,服务器端会根据请求参数从数据库获取数据,并封装成SDO对象。需将SDO对象序列化为JSON串并传送给客户端。【场景简述】用户提交并保存变更的业务表单数据时,由客户端提交变更的业务数据到服务器端,执行变更持久化;用户查看业务表单数据时,客户端会发送请求到服务器端,由服务器根据

6、请求返回数据到客户端【前置条件】无。【流程图】SSDO持久化反序列化为SDO提交变更数据客户端服务器端数据库序列化为JSON【用图形将场景的步骤画出来,便于理解,如果场景的步骤比较简单,流程图可选】【步骤】提交变更数据提交的只是变更的数据变更数据的范围如何界定?(含添加、修改、删除的数据),而非全量数据。应注意如何获取变更数据。变更数据的范围如何界定?序列化为JSON需要将JS对象序列化为JSON串,注意切断循环引用如果有循环引用,会产生何种结果?。如果有循环引用,会产生何种结果?序列化为JSON串时,原先引用的对象,都会用实际的数据对象表示;这使得JSON串变得很大。为了缩小数据量,目前考虑

7、是最终解决方法吗?解决的办法是:在反序列化为JSON串之后,在每一个有引用标记的位置,添加一个特殊的引用标记特殊引用标记的详细内容,其值为原标识对象的全路径,然后再将源来的引用抹掉,即置为null。是最终解决方法吗?特殊引用标记的详细内容反序列化为SDO JAVA对象先经过正常的反序列化程序转化为SDO对象对每一个特殊引用标记,找到其值所对应的对象,再用该对象替换至源引用值。SDO持久化持久化变更集,如果变更集为空,即表示无变化,即无需持久化。【对流程图中定义的“步骤”中进行描述,注意每一个步骤都需要有一个简明扼要的带编号的“标题”,然后再描述某个步骤的详细信息】【流程图】构造构造SDO对象序

8、列化为JSON串显示表单客户端服务器端数据库反序列化为JS【用图形将场景的步骤画出来,便于理解,如果场景的步骤比较简单,流程图可选】【步骤】构造SDO对象从数据库获取数据实体,并封装成SDO对象。序列化为JSON串将SDO对象序列化为JSON串。反序列化为JS对象客户端将JSON串反序列化为JS对象。显示表单【对流程图中定义的“步骤”中进行描述,注意每一个步骤都需要有一个简明扼要的带编号的“标题”,然后再描述某个步骤的详细信息】【关键设计点】在服务器端,重点关注如下3点JSON串的格式,重点为变更集的格式SDO JAVA对象序列化为JSON串JSON串反序列化为SDO JAVA对象,重点关注变

9、更集的反序列化 【为了便于抽取技术验证或者原型开发的场景或功能点,需要抽取出关键的设计点】【关键测试点】表单内容局部修改时,引用标记是否起效表单内容局部修改时,引用标记是否起效SDO JAVA对象序列化为JSON串的性能测试JSON串反序列化为SDO JAVA对象的性能测试JS对象序列化为JSON串的性能测试【特性清单】序号特性列表优先级1SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义P12JSON串校验器P12SDO JAVA对象序列化为JSON串P13JSON串反序列化为SDO JAVA对象P1特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义JSON串的

10、格式,含变更集,如下表key: value,key:. .changeSummary: create: ref: , ref: ,modify: key:oldvalue,.,ref: , key:oldvalue,.,ref: ,delete: key:value,.,ref: , key:value,.,ref: 格式说明:此为SDO含变更集的固定格式,其中固定KEY有changeSummary,create,modify,delete,ref固定KEY描述样例changeSummary记录表单的历史数据,包括添加,修改,删除create添加的表单数据,只标识添加元素的全路径,用ref表述

11、modify修改的表单数据,标识修改元素的全路径,用ref表述,同时包含修改属性的旧值(新值在sdo中记录)delete:删除的表单数据,此处将记录删除数据的详细数据,是数据对象的深拷贝ref记录元素的全路径。格式:”#key.key.key”, key可以有两种方式表示(未确定):1.为每一个元素的唯一标识,即UUID2.用JSONPATH表示Ref采用UUID与JSONPATH的优缺点比较需求中如果要说明技术细节,只需要列出具体采用的是那种方式即可。需求中如果要说明技术细节,只需要列出具体采用的是那种方式即可。优点缺点样例UUID操作方便,无需保持结点顺序需遍历查找结点,使用效率低下#gi

12、d1.gid2.gid3JSONPATH使用效率高需在序列化、反序列化时保持结点的顺序格式中用到的固定元素,为了不与正常的表单数据元素冲突,考虑将其变通为如下同上同上key: value,key:. .,_cs: _create: _ref: , _ref: ,_modify: key:oldvalue,.,_ref: , key:oldvalue,.,_ref: ,_delete: key:value,.,_ref: , key:value,., _ref: 对应关系:changeSummary-_csref-_refcreate-_createmodify-_modifydelete-_d

13、elete对于不含变更集的JSON格式,如下key: value,key:. .样例:样例: companyA: name: MegaCorp, gid: sdlkfjsdlfj, departments: name: Advanced Technologies, gid: dfiofdlsfjlj, location: NY, number: 123, employees: name: John Jones, SN: E0001, gid: dfiofertfjlj , name: Jane Doe, SN: E0003, gid: dfiqqdlsfjlj , name: Al Smith

14、, SN: E0004, manager: true, gid: dfioeterlsfjlj , companyB: name: MegaCorp, gid: dfiotyulsfjlj, departments: name: Advanced Technologies, location: NY, number: 123, gid: dfiofdopfjlj, employees: name: John Jones, SN: E0001, gid: dfio435ytjlj , name: Jane Doe, SN: E0003, gid: dfio23rwesfjlj , name: A

15、l Smith, SN: E0004, manager: true, gid: dfi56ysfjlj , _cs: _create: _ref: #companyA.departments.employees1 , _modify: _ref: #companyA.departments.employees2,name: Jane Doaa , _delete: _ref: #companyA.departments.employees3,name: Aac, SN: E0010, gid: dfi56y4fjlj 特性:JSON串校验器类似于XML的XSD,JSON串由客户端上传到服务器端

16、处理之前,需要先对JSON作合法性校验,应注意校验器的性能。输入格式描述JSON串,说见 HYPERLINK l _特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义 2.2.2特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义输出格式描述无文件规格功能规则用户API接口类需要说明接口类需要说明boolean JSONValidator.validate(String jsonString)特性:SDO JAVA对象序列化为JSON串输入要素描述SDO2.1的接口规范如下图SDO JAVA对象将是一个含变更集的DataObject对象。Hibernate充当

17、DAS层考虑性能问题,是否自己做DAS层代码实现?,封装了对DataObject的持久化操作。Hibernate的输出即为该序列化的输入。考虑性能问题,是否自己做DAS层代码实现?输入格式描述输出格式描述JSON格式,说见 HYPERLINK l _特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义 2.2.2特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义文件规格功能规则API需要说明类名+方法名需要说明类名+方法名方法功能参数返回值marshal将DataObject对象转换成ISerializationNodeISerializationNode 中

18、间过程的对象DataObject 需序列化的DataObject对象IMarshallingContext 序列化上下文无toJSON将ISerializationNode对象转换成JSON串ISerializationNode 中间过程的对象String特性:JSON串反序列化为SDO JAVA对象输入要素描述输入格式描述JSON格式,说见 HYPERLINK l _特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义 2.2.2特性:SDO的JSON串格式,尤其是SDO变更集的JSON串格式定义输出格式描述文件规格功能规则API同上同上方法功能参数返回值unmarshal将

19、json转换成ISerializationNode对象,然后再将ISerializationNode转换成DataObjectString json串DataObject场景:SDO变更集持久化场景描述【典型用户】开发人员。【用户需求】数据持久化【场景简述】SDO变更集的持久化操作,包括增、删、改。【前置条件】SDO含变更集的对象已经准备好;数据库服务已经开启;应用服务器与数据库服务已建立连接。【流程图】【用图形将场景的步骤画出来,便于理解,如果场景的步骤比较简单,流程图可选】【步骤】【对流程图中定义的“步骤”中进行描述,注意每一个步骤都需要有一个简明扼要的带编号的“标题”,然后再描述某个步骤的详细信息】【关键设计点】变更集的持久化操作 【为了便于抽取技术验证或者原型开发的场景或功能点,需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论