《MVC课程设计报告.docx》由会员分享,可在线阅读,更多相关《MVC课程设计报告.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.Net软件实践报告系统名称 文件分享网站 学 院 计算机科学与技术学院 班 级 学 号 姓 名 目录可行性研究2系统背景2技术可行性2需求分析2功能描述2性能约束5数据模型和ER图5概要设计5系统的设计开发中的基础架构5静态结构图7为满足性能约束要求采用的技术方法8存储数据结构9详细设计及代码实现10登陆功能详细设计10注册功能详细设计11注销功能详细设计12修改个人信息功能详细设计13管理员删除用户功能详细设计13上传文件详细设计16下载文件功能详细设计17删除文件详细设计17查找文件功能详细设计19查看所有文件功能详细设计20查看文件的详细信息功能20查看本人上传文件功能详细设计22测试
2、22实际运行测试22单元测试26设计优缺点27优点27缺点27心得27可行性研究系统背景本系统名称为“文件分享网站”,网站的主要功能包括上传文件下载文件搜索文件。本网站为用户提供了一个自由分享文件的平台。技术可行性本网站使用已经成熟的MVC架构,开发工具使用VS2015,能确保网站如期完成需求分析功能描述功能层次图:1. 用户上传文件已经注册的用户可以上传分享自己的文件,用户还可以选择性的填写对该文件的描述,方便其它用户了解该文件信息IPO图:2. 用户下载文件对于看到的文件,用户可以免费下载。3. 用户搜索想要的文件4. 用户管理自己的文件5. 管理员管理用户6. 管理员管理上传的文件性能约
3、束1. 文件大小有限制,上传大小不得超过500MB2. 用户上传文件后不得再对文件修改,只能删除重传3. 如果一个用户上传了相同的文件,则默认覆盖掉之前的文件4. 用户一旦上传文件,该文件就是公开的,能被其他人下载。即用户不能上传私有文件5. 用户名与邮箱一致,一旦注册不得更改数据模型和ER图说明,管理员属于用户,管理员管理用户和文件概要设计系统的设计开发中的基础架构本系统所用架构为MVC架构,强大好用MVC架构简介MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以
4、分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 模型视图控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC编程模式MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:1 Model(模型)表示应用程序
5、核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在
6、不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。MVC架构图MVC运行生命周期静态结构图类图关键类图的详细信息Ffile类FfilesController类为满足性能约束要求采用的技术方法文件大小的约束首先在webconfig文件里设置文件大小然后在相应的controller方法里限制:存储数据结构本系统使用的数据库为sqlserver,采用EntityFamework技术。数据库中的表:主要表的数据类型:Ffiles表定义:AspNetUsers表定义:详细设计及代码实现登陆功能详细设
7、计算法描述:输入用户名和密码进入后台判断用户名和密码是否正确如果正确,则登陆成功如果错误让用户重新登陆具体代码:注册功能详细设计算法描述:用户输入用户名密码地区年龄邮箱等信息将信息提交至后台验证是否合法(比如用户名是否重复,密码是否符合要求)若后台验证通过则注册成功若验证不通过,则返回错误信息并让用户重新填写详细代码(按照执行顺序提供的代码):通过这个actionresult返回到注册填写页面:然后点击创建,又会返回到带有参数的Register方法:在此方法中完成对注册的操作,并将信息写入到数据库中。流程图表示:注销功能详细设计该功能比较简单,具体代码:修改个人信息功能详细设计算法描述:用户填
8、写新的信息提交至后台保存到数据库中具体代码:截图里有两个edit方法,这个执行顺序与注册功能一样就不再赘述。管理员删除用户功能详细设计算法描述:检测当前用户是否为管理员角色不是得话就拒绝执行是的话继续往下执行,将所有用户呈现给管理员,有管理员选择删除的用户如果选择用户的Id为管理员则拒绝执行不是的话就进行删除操作。流程图描述:相应执行顺序的代码:检查用户角色及返回所有用户列表界面:所有用户列表界面部分代码:删除用户后台代码:上传文件详细设计算法描述:检测用户是否已经登陆登陆后选择上传的文件并填写相关信息检查文件大小是否符合要求符合要求上传文件不符合要求重新上传文件流程图:上文文件界面代码:后台
9、代码:下载文件功能详细设计用户选择要下载的文件后台找到相应的文件位置并提供下载,并将该文件的下载次数自加1具体代码:删除文件详细设计算法描述:用户选择要删除的文件如果该文件的上传者与当前登陆信息一致,则执行删除否则拒绝执行如果用户是管理员,则执行删除流程图:具体代码用户删除和管理员删除分成了两个函数来写:用户删除管理员删除查找文件功能详细设计算法描述:用户输入文件名后台在数据库中查找将结果返回到页面上具体代码:输入文件名页面:后台查询代码:结果视图代码:查看所有文件功能详细设计该功能实现比较简单,代码:查看文件的详细信息功能算法描述:用户选择相应的文件后台获取到该文件后台将文件的信息呈现在试图上流程图:代码:后台代码:页面代码:查看本人上传文件功能详细设计实现简单,代码:测试实际运行测试网站首页登陆页面注册页面:修改个人信息:管理员删除用户:上传文件:下载文件:搜索文件:查看文件详细信息服务器存放的文件:单元测试控制器测试:路由测试设计优缺点优点1. 界面简洁,用户操作方便。2. 使用了授权与安全,网站安全较高3. 网站设计宗旨好,自由分享,方便交流,完全免费缺点1. 缺乏一些功能,比如对文件的评分和评论以方便用户甄别文件2. 没有检测文件是否安全的功能3. 文件体积限制的有点小4. 用户上传文件后不能再修改文件信息心得。