项目 内容
这个作业属于哪个课程 软件工程 罗杰
这个作业的要求在哪里 技术规格说明书
我们在这个课程的目标是 熟悉软件开发整体流程,提升自身能力
这个作业在哪个具体方面帮助我们实现目标 确定技术规格,撰写说明书

一、概述

  • 我们团队的目标是实现一个拖拽式编程的网站,即通过推拽图形、连线来搭建神经网络模型,返回pytorch的模型代码。在确定需求和功能后,我们通过网上调研学习,并且研究学长们之前的项目后,决定采用bootstrap作为前端主要开发框架,Django作为后端服务器开发框架。由于首次版本我们的目的在于实现核心推拽功能,因此数据库暂时选用MYSQL。

二、前端技术

  • 基本框架采用bootstrap,优点在于:扩展性强、有丰富的插件和组件、前端处理简洁、拥有大量的现成UI组件
  • 对图形的拖拽使用的是jquery-ui和jsplumb
  • 使用jquery中基础的js函数与后端通信

    bootstrap能够更好地与现实的web开发项目结合,它不断适应web技术的发展,不断成熟。在大量的项目中,bootstrap被进行了充分的使用和测试,拥有完善的文档,兼容各种脚本插件,接受定制。bootstrap为用户提供了一套响应式优先的流式栅格系统,拥有完备的框架结构。在此考虑基础上,我们的项目适合使用bootstrap实现前端。

三、后端技术

  • 由于需要用pytorch实现模型代码,因此pytorch的文档理解和基本的模型理解是必要的。我们安排了组员去理解pytorch的原理,实现图形到代码的核心功能。
  • Django的功能较为完善,同时部分组员有过使用Django的经历,因此后端框架采用Django,其拥有强大的后台功能以及模板系统,能够更好的帮助我们实现核心功能。
  • 用户数据的存储数据库暂定为MYSQL。

四、UI模块

  • 图中的红色边框的长方形是画布。左边一栏是基本的图形结构,根据功能分类,可以在图形中加入label。
  • 将图形拖拽进入画布后,出现的四个点可以和其他图形进行任意的连接。
  • 在画布内的图形可以再经过鼠标的拖拽改变位置,同时可以删除画布内不需要的图形。
  • 可以自由更改或删除画布内的连线。

五、与pytorch的交互对接

  • 在此只罗列出关键方法的名称和作用
关键方法 作用
jsplumb.getConnections() 获得界面中连线两端的图形的id
save() 统计各个连线两端的图形,返回一个数组,包括各个图形的数目
http请求 请求后端的api接口,获得后端的数据
gen_pytorch_inputs() 根据传入的数据,处理输入层
gen_pytorch_convolution() 根据传入的数据,处理卷积层
gen_pytorch_concat() 根据传入的数据,处理拼接层
gen_pytorch_reshape() 根据传入的数据,处理reshape层
gen_pytorch_softmax() 根据传入的数据,处理softmax层
gen_pytorch_pooling() 根据传入的数据,处理pooling层
gen_pytorch_dense() 根据传入的数据,处理全连接层
pytorch_inputs() 存储输入层的代码,返回给前端(其他层相似,不再赘述)

六、运行环境

  • 该项目的运行基本要求是网络环境,但对浏览器没有特定的要求。前端使用的Bootstrap拥有完备的框架结构,具有和谐的整体效果,无论是火狐、谷歌、IE浏览器都是支持的。

七、错误处理

  • 对错误进行分类处理,目前定义的错误类型有:
错误类型 错误原因
OutofboundaryException 越界错误(例如图形的数量越界)
StoreException 保存模型代码出现错误
WronginterException 输入错误(例如画布中有未连接图形)
PyException 生成错误的模型

八、耦合以及应对变化的灵活性

  • 将接口和方法封装成对应函数,保证了独立性和耦合性。我们使用的bootstrap和django都是扩展性较好的框架,对于后续其他功能的实现并没有什么负担,如果对已有的核心功能进行加强和更新,也不会对接口进行更改,pytorch实现的模型代码也不会有变动。因此,对变化的灵活性应当是较好的。

转载于:https://www.cnblogs.com/1606-huluwa/p/10636949.html

【软件工程】技术规格说明书相关推荐

  1. [软件工程]技术规格说明书

    概述 后端技术 根据需求 手工标记Android游戏见面可点击区域构建训练数据,通过识别游戏界面可点击区域,模拟用户输入流,并识别异常状态,从而实现自动化异常检测 我们需要训练一个能够识别游戏界面的模 ...

  2. 【CodingNoBorder - 04】无际软工队 - 求职岛:技术规格说明书

    无际软工队 - 求职岛:技术规格说明书 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 团队项目-计划阶段要求 我们在这个课程的目标是 熟悉敏捷开发的方法论,并通过 ...

  3. 软件工程详细设计说明书_软件工程导论知识点梳理之简答题

    1. 软件危机的表现形式 对软件开发成本和进度估计不准确 已完成的软件不符合用户需求 软件产品质量差,可靠性得不到保证 软件产品可维护性差 软件成本在计算机总成本中的比例逐渐变大 软件开发生产率提高速 ...

  4. 软件工程详细设计说明书_软件设计师

    软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才.还能够组织和指导程序员编写.调试程序,并对软件进行优化和集 ...

  5. 软件工程--详细设计说明书格式

    详细设计说明书 1 引言  1.1 编写目的:阐明编写详细设计说明书的目的,指明读者对象.  1.2 项目背景:应包括项目的来源和主管部门等.  1.3 定义:列出本文档中所用到的专门术语的定义和缩写 ...

  6. JKL-HS300多合一采集终端技术规格说明书

    一.产品简介: JKL-HS300是一款集成智能卡读写功能扫码平台,影像式CMOS,具有75mm*60mm超大读窗口,适读能力强大,支持常见的一维码和二维码扫描,并支持10种以上扫码场景交易语音提示, ...

  7. YLKJ-HS300多合一读卡终端技术规格说明书

    一.产品名称:多合一采集终端 二.规格型号:YLKJ-HS300二个型号 三.适用对象:YLKJ-HS300适用行业用户包括.社保.防疫部门.邮政等 四.主要功能:USB.语音.一维码扫描.二维码扫描 ...

  8. ZM-SMT-SL-500婚姻登记智能自助服务终端技术规格说明书

    一.产品介绍 婚姻登记智能自助服务终端用户可在语音提示下自助操作,完成身份确认 - 信息录入 - 扫描证件 - 打印材料四个步骤后,就可以直接到登记窗口签名.领证. 二.技术规格 规格型号:ZM-SM ...

  9. 团队项目技术规格说明书---客户端

    一.功能框架说明 <校淘>服务器(以下简称XT)是在Android Sudio上开发的app,并且运行在android手机上. XT主要由以下几部分组成: 用户管理(注册.登录.好友.聊天 ...

最新文章

  1. python判断字符是否是字典的键_Python3基础 dict in/not in 查询一个字符是否指定字典的键或者值...
  2. java shiro登录实例_Shiro安全框架入门篇(登录验证实例详解与源码)
  3. RealNetworks创始人Rob Glaser:为什么我们在中国取得成功?
  4. 彻底解决网络爬虫遇到的中文乱码问题
  5. eclipse mysql生成实体类_Eclipse实现数据库反向生成实体类(pojo)-------(插件安装和实现步骤的说明)...
  6. python读取每一行文字二十四_python接口自动化(二十四)--unittest断言——中(详解)...
  7. “docker-app”实用工具分享,大大提高 Compose 文件复用率
  8. 《More_Effective_C++》pdf
  9. java遍历d盘所有文件夹_java遍历指定盘符的所有文件和文件夹
  10. 风险分析(Barra风险模型)
  11. 人力资源管理专业知识与实务(初级)【6】
  12. 使用3g模块SIM5360E收发短信
  13. 「津津乐道播客」#353 编码人声:程序员都是「时间管理大师」
  14. FusionGAN解读2:跑起来
  15. linux ap 模式,无线AP是什么,客户端模式(apclient)是什么意思?
  16. Qcon 实时音视频专场:实时互动的最佳实践与未来展望
  17. 实现LZW字典压缩算法
  18. Box2d源码学习一之Box2d简介
  19. 2021年美赛MCM赛题C题翻译
  20. 【前端】HTML标签基础复习笔记

热门文章

  1. python 内置模块 增加_模块的内置方法--Python提高班
  2. tensorflow学习(1.CNN简单实现MNIST)
  3. 图像处理中常用数学知识
  4. 【CV夏季划】2021年有三AI-CV夏季划出炉,冲刺秋招,从CV基础到模型优化彻底掌握...
  5. 【年终总结】2019年有三AI NLP做了什么,明年要做什么?
  6. 全球及中国衣柜香氛市场投资份额与营销潜力研究报告2022版
  7. 中国镍氢电池行业产销状况及竞争格局咨询报告2021-2027年版
  8. 将字符串的首字母变为大写
  9. Python学习之路 拓展篇 Pychram的应用
  10. IDEA新建spring boot项目没有Spring Initializr选项