精华内容
下载资源
问答
  • 软件工程大作业

    2014-06-19 17:52:34
    软件工程大作业,欢迎来下载,快来啊,来啊,来啊
  • 中国科大高级软件工程大作业-仅供参考 中国科大高级软件工程大作业-仅供参考 中国科大高级软件工程大作业-仅供参考 中国科大高级软件工程大作业-仅供参考
  • 软件工程大作业 需求规格说明+ 软件设计说明书+可行性研究报告+黑白盒测试 四个报告,内容围绕校园微信公众平台 可做为软件工程大作业 简介: 而基于微信公众平台的周边信息检索系统,主要用户是大学城的周边学生。 ...
  • 科大2012年高级软件工程大作业

    热门讨论 2013-01-04 20:58:46
    2012中科大 高级软件工程 大作业 95分高作
  • 成绩管理系统 VB 软件工程大作业 包括 程序 源代码 软件说明等
  • 软件工程大作业,中国银行ATM机的功能分析
  • 针对软件工程大作业,我们小组决定跟图形图像中Image Completion相结合,做出一款web应用。 普通用户主要有:用户数据(如:需要补全的照片等)的上传、最终结果展示、反馈个主要功能。 管理员主要有:查看数据分析...

    针对软件工程大作业,我们小组决定跟图形图像中Image Completion相结合,做出一款web应用。

    普通用户主要有:用户数据(如:需要补全的照片等)的上传、最终结果展示、反馈个主要功能。

    管理员主要有:查看数据分析结果等。

    系统主要实现数据存储、数据处理(如补全用户上传的图片等)、简易数据分析三部分。

    针对web开发,我们决定使用play! Framework框架,因为它主要用java语言开发,我们小组人员比较熟悉,并且方便易用。

    图像修补算法参考论文如下:

    1. Alignment and mosaicing of nonPoverlapping images.POLEG,Y.,AND PELEG,S.In Proc.ICCP,IEEE, 1–8.2012
    2. BiggerPicture: DataPDriven Image Extrapolation Using Graph Matching, M.Wang,Y.K.Lai,Y.Liang,R.R.Martin,S.M.Hu,Siggraph Asia 2014
    3. Infinite images: Creating and exploring a large photorealistic virtual space.KANEVA,B.,SIVIC,J.,TORRALBA,A.,AVIDAN,S.,AND FREEMAN,W.T.In Proceedings of the IEEE. 2010

    普通用户页面设计图如下:

    管理员页面设计图如下:

     

    转载于:https://www.cnblogs.com/flym/p/4439948.html

    展开全文
  • 软件工程大作业——数独游戏 一、PSP表格 二、需求分析 三、设计实现 四、单元测试 五、程序性能及质量分析 六、GUI 七、总结 代码地址:https://github.com/friyal0730/sudoku/ psp表格 ...

    软件工程大作业——数独游戏1

    一、PSP表格
    二、问题分析
    三、系统设计
    四、具体实现
    五、单元测试
    六、程序性能及质量分析
    七、GUI
    八、总结
    代码地址:https://github.com/friyal0730/sudoku/
    这篇文章主要是第一部分PSP表格、第二部分问题分析和第三部分系统设计

    一、psp表格

    PSP2.1 Personal Software Progress Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划
    Estimate 估计这个任务需要多少时间 20 30
    Development 开发
    Analysis 需求分析(包括学习新技术) 180 150
    Design Spec 生成设计文档 120 180
    Review 设计复审(和同事审核设计文档) 30 30
    Coding Standard 代码规范 120 100
    Design 具体设计 180 150
    Coding 具体编码 900 1200
    Code Review 代码复审 300 300
    Test 测试(自我测试,修改代码,提交更改) 300 360
    Reporting 报告
    Test Report 测试报告 60 120
    Size Measurement 计算工作量 30 60
    Postmortem & Process Improvement 事后总结,并提出过程改进计划 120 90
    Total 合计 2360 2770

    二、问题分析

    1、需求分析
    经过研究,我认为软件需要满足的需求如下:

    1. 生成不重复的数独终盘(0<N<=1000000)
    2. 生成数独题目(0<N<=100000)
    3. 读取数独问题,求解,将结果输出(0<N<=1000000)

    2、解决方法:
    经过查阅资料,我确定的方法如下:

    • 生成数独终盘:分为随机法和矩阵转换法。其中,随机法在数据量大时,时间复杂度过大,效率过低。所以我选择矩阵转换法,利用对已有的数独终盘矩阵的行、列和数字的交换,生成新的数据矩阵,能够充分利用矩阵特性,且十分高效。这种方法也可以保证能够输出1000000个不同的数独。证明如下:
      对于一个9乘9的矩阵,要保证左上角的第一个数字为(3+7)%9+1=2不变
    • 对于行的变换:第一行不变,剩下的行在同一行的九宫格范围内进行变换,共有2x3!x3!=72种方法
    • 对于列的变换: 第一列不变,同理共有2x3!x3!=72种方法
    • 对于数字的变换:除了2以外,剩下每个数字两两交换一次,共有8!=40320种方法
      因为 72x72x40320>1000000,所以可以产生不重复且第一个字为2的数独终盘
    1. 生成数独题目:随机挖空,但挖空的数量不能太少也不能太多。经过我的观察,数独题目中空位的数量大约是30至42个。所以我挖空的具体方法为:首先在每个小九宫格中挖两个空,然后再随机挖空,第二步挖的空有可能与第一步挖过的某些空重复,保证整个数独题目最少有30个空,最多有42个空
    2. 解数独题目:回溯法,用dfs来解决

    三、系统设计

    三个功能,就需要分为三个模块,使用面向对象的方法对其进行分析和建模。

    1. 用例图

      分析需求中的使用者,分为用户和管理员,根据需求描述,画出用例图如下:
      在这里插入图片描述

    2. 类图
      需求描述中设计到的类与对象包括:用户需求解决类(solve)、数独终盘生成类(base)、数独问题求解类(answer)。 功能需求中,第二个功能并没有在用户需求中直接体现出来,所以我将其另作为一个程序。画出的类图如下:
      在这里插入图片描述

    3. 顺序图
      生成数独终盘的过程顺序图如下:
      在这里插入图片描述
      求解数独的过程顺序图如下:
      在这里插入图片描述

    详细设计:

    Base类:

    用于产生数独终盘

    变量:

    double totTime; 记录运行时间

    int count; 表示需要产生的数独终盘的数量

    struct node{ int num; booldir; }; 表示数字num的移动方向,dir为true表示向左,false表示向右

    struct node location[9]; 表示数字1-8的移动方向

    FILE* file_write; 写文件指针,指向将要写入数独的文件

    方法:

    Base(int number, FILE* file)构造函数,初始化Base对象和数独

    generate(): void 生成指定数量count个数独

    Out(): void 输出函数,将生成的数独写入指定文件中

    TransForm(): void 横向改变数独终盘

    Change(): void 产生横向改变后的数独终盘

    Line_exchange_floor(int* number): void 轮换数独终盘的第1,2行

    Line_exchange_middle(int* number: void 轮换数独终盘的第3,4,5行

    Line_exchange_ground(int* number): void 轮换数独终盘的第7,8,9行

    swap_line(int a, int b); 交换数独终盘中指定的两行

    Answer类:

    根据软件设计说明,Answer类的功能为从指定文件solver.txt中读取待解决的数独并完成数独填写,然后将数独终盘写入指定文件sudoku.txt中。在Answer类中,有如下成员:

    变量:

    int sudo[9][9]; 存放数独

    FILE* question; 文件指针,指向存放待解决的数独的文件

    FILE* file_write;文件指针,指向将要写入数独终盘的文件

    int flag; 标记解决完成的数独是否符合要求,0表示符合,1表示不符合

    方法:

    Answer() 构造函数,初始化Answer对象

    test(): int 返回flag的值

    in(): int 从文件中读取待解决的数独,完成数独并写入文件

    out(): void 将完成后的数独终盘写入文件

    dfs(): bool 采用回溯法来完成数独填写

    check(int line, int col, int num): bool 判断数独中指定行、列的数字填写是否符合要求

    valid(int sudoku[][9]): bool
    判断完成后的数独是否符合要求

    solve类:

    根据软件设计说明,solve类的功能有三部分:一、判断输入命令是否合法;二、如果为-c命令,创建Base类对象,创建指定数量的数独终盘写入文件;三、如果为-s命令,创建Answer类对象,从文件中读取待解决的数独并完成数独,将完成的数独终盘写入文件。在Answer类中,有如下成员:

    变量:

    int argc; 来自main()的参数,表示命令的参数个数
    char**argv; 来自main()的参数,指向存放命令的参数的地址
    int flag;

    方法:
    olve(int argc, char** argv) 构造函数,初始化solve对象

    solveinput(): int 判断命令格式是否符合要求,并根据命令执行数独生成或数独解决功能

    展开全文
  • 软件工程大作业第一周-简易论坛小组成员及分工项目介绍代码仓库 #简易论坛第一周 这一周,我们完成了小组的组建,小组分工,项目主题的确定。并组建了代码仓库与博客。 小组成员及分工 Osakanna:文档编写,服务端...

    软件工程大作业第一周-简易论坛

    #简易论坛第一周

    这一周,我们完成了小组的组建,小组分工,项目主题的确定。并组建了代码仓库与博客。

    小组成员及分工

    Osakanna:文档编写,服务端代码,博客维护
    永远十七岁的紫妈:服务端代码
    MackHsu:前端
    DaDa:数据库

    项目介绍

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    代码仓库

    由于部分小伙汁连接不上github,所以代码仓库建立在对中国地区用户更友好的码云上。

    展开全文
  • 软件工程大作业 数据库查询系统 物流查询 SQL的编译 数据库的模拟 增删改查 Java Swing的图形界面开发 排序 模拟发货功能
  • 软件工程大作业-物资管理 为了开发这个系统,我们从不同的角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,...
  • 软件工程大作业——数独游戏3 一、PSP表格 二、问题分析 三、系统设计 四、具体实现 五、单元测试 六、程序性能及质量分析 七、GUI 八、总结 代码地址:https://github.com/friyal0730/sudoku/ 这篇文章主要是第七...

    软件工程大作业——数独游戏3


    一、PSP表格
    二、问题分析
    三、系统设计
    四、具体实现
    五、单元测试
    六、程序性能及质量分析
    七、GUI
    八、总结
    代码地址:https://github.com/friyal0730/sudoku/
    这篇文章主要是第七部分GUI以及第八部分总结


    七、GUI

    借这次机会,我想尝试一下使用Qt完成界面。在这个环节中,最为重要的就是将已经写好的代码封装成接口,完成接口的调用功能。

    具体流程为:先输入想要生成题目的数量,然后调用Base.h生成对应数量的数独终盘,之后利用question的代码按照要求随机挖空,展示出数独局,最后用Answer.h的valid函数对结果进行正确性判断。

    截图如下:

    输入2,点击OK:

    点击验证答案:

    输入正确答案后:

    sudokuGUI类的ClickokButton用来实现输入数独个数后,点击ok进行数独的生成

     

    void sudokuGUI::ClickokButton()//点击事件
    {
    	QString s = this->let->text();
    	int geshu = s.toInt();
    	s = QString::number(geshu);
    	if (geshu > 0 && geshu < 1000)
    	{
    		running(geshu);
    		QMessageBox::about(this, tr("提示信息"), tr("生成数独"));
    		this->close();
    		return;
    	}
    	else if (geshu == 0)
    	{
    		QMessageBox::about(this, tr("提示信息"), tr("不生成数独,程序结束!"));
    		this->close();
    		return;
    	}
    	else return;
    }

    Widget基类的ClickButton用来实现输入答案后,用户点击验证按钮,进行答案的验证

    void Widget::ClickButton()//验证数独正确性
    {
    	    for(int i=0;i<9;i++)
    		{
    			for(int j=0;j<9;j++)
    			{
    				QString s=this->le[i][j].text();
    				if(s.toInt()!=answer[i][j][this->num])
    				{
    					QMessageBox::about(this,tr("提示信息"),tr("Wrong Answer!"));//弹窗提示错误
    					//qDebug("%d %d %d %d",i,j,s.toInt(),answer[i][j][this->num]);//调试
    					return ;
    				}
    			}
    		}
    		QMessageBox::about(this,tr("提示信息"),tr("You Got it!"));//成功解出
    	
    	int checkedsd[9][9];
    	for (int i = 0; i < 9; i++)
    	{
    		for (int j = 0; j < 9; j++)
    		{
    			QString s = this->le[i][j].text();
    			checkedsd[i][j] = s.toInt();
    		}
    	}
    	if (valid(checkedsd) == true)
    	{
    		QMessageBox::about(this, tr("提示信息"), tr("You Got it!"));//成功解出
    	}
    	else QMessageBox::about(this, tr("提示信息"), tr("Wrong Answer!"));//弹窗提示错误
    }

     

    八、总结

    没有开始动手做这个项目之前,我十分怀疑自己能否有这个能力独自设计开发一个项目。但在我完成之后,我不得不感叹,ddl的生产力是无穷的:)

    从这一次的项目,我学到了很多,收获颇丰。在真正的经历了从需求到设计再到实现整个过程,我对于老师上课所讲的知识有了进一步的认识,我大概清楚了设计一个程序需要哪些前期工作,明确了代码规范的重要性, 知道了很多代码可以改进的方向和方法。完成了代码也并不是全部, 如何进行单元测试,如何进行性能对进行优化改进,都是我需要考虑的地方。除此之外,我还学会了如何使用github管理程序代码,如何用CSDN撰写博客,如何用QT编写GUI。这个项目还有很多不完整,不够优秀的地方,我会在之后的课余时间对它进行进一步的研究和优化。

     

     

    展开全文
  • 软件工程大作业——数独游戏2 一、PSP表格 二、问题分析 三、系统设计 四、具体实现 五、单元测试 六、程序性能及质量分析 七、GUI 八、总结 代码地址:https://github.com/friyal0730/sudoku/ 这篇文章主要是第四...
  • 软件工程大作业模板

    2017-06-26 21:14:09
    文档编写
  • Teacher 软件工程大作业范例《网上招聘系统分析与设计》做大作业用来当模版哦
  • 软件工程大作业模板—酒店管理信息系统分析与设计 参考价值很高
  • 那些做过的软件工程大作业--网页聊天室 备注: 此项目当真是使用传说中的迭代开发,之前的版本,如(python websockets 网络聊天室V1)极其简略。经过一段时间的学习后,经过小组成员的帮助,逐渐添加了一些功能...
  • 1. 引言 2 1.1 编写目的 3 1.2 项目背景 4 1.3 项目概述 4 2. 引用文件 5 3. 可行性分析的前提 5 3.1 项目的要求 5 3.2 项目的目标 5 3.3 项目的环境、条件、假定和限制 6 3.4 进行可行性研究方法 6 ...
  • 依据软件本身性质,规模和应用场合的不同,软件测试人员选择不同的方案, 硬件资源以及人力资源投入,得到最佳的测试效果。 测试方法: 本系统只要采用黑盒测试和白盒测试相结合。 测试过程: 用户注册——输入有效...
  • 软件工程,网站抽奖,asp,网页,B/S,包含开发文档
  • 代码规模统计,可以统计代码行、注释行、代码注释公共行、空行。可以选择多个文件,多个文件夹进行统计,带文件类型和修改时间筛选,WinForm工程,软件工程大作业
  • 软件工程项目的需求分析,所设计的项目为一个采用爬虫技术的小说阅读系统,采用SQL Serive Manager 数据库。 一、需求获取 功能需求 1.爬取指定小说网站的热门小说地址 2.数据库存储//用户登录界面 3.会员能修改...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,194
精华内容 1,277
关键字:

软件工程大作业