天津理工大学软件工程实验报告II

合集下载

软件工程试验报告

软件工程试验报告

软件工程试验报告第一篇:软件工程试验报告实验项目名称:需求分析(所属课程:软件工程概论)1.实验目的1.选择要设计的系统,使用UML进行需求分析,了解所要完成系统的功能需求,性能需求,接口需求等。

2.学习实使用Rational Rose 或其它软件工程工具绘制用例图、活动图。

2.实验内容使用Rose 绘制系统的用例图。

1.Rational Rose介绍Rational Rose是基于UML而产生的,是软件开发过程中的不可或缺的一个建模工具。

(1)Rational Rose的特点:λ支持多种语言,如Ada、CORBA、Visual Basic、Java等;λ支持模型的Internet发布;λ可以生成简单、清晰且定制灵活的文档;λ双向工程保证了模型和代码高度一致;λ支持逆向工程,建立代码框架;λ支持多种关系型数据库的建模;λ从需求分析到测试,在整个软件生命周期中,都为团队开发提供强有力的支持。

(2)Rational Rose的作用λ整个开发团队可以使用用例图,来获得一个系统高层次的视图,并且可以协商项目的范畴;λ项目经理可以使用用例图和文档,把项目分解成便于管理的多个模块;λ系统分析员和客户在看到用例规格描述文档的时候,就可以明白系统将会提供什么样的功能;λ技术编写者在看到用例规格描述文档时,就可以着手编写用户手册和培训计划;λ系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息2.安装Rational Rose ①双击Rational Rose 2007的安装程序,进入安装界面;按照系统提示一步一步完成系统的安装。

其中在选择安装产品时,选择“Rational Rose Enterprise Edition”;并且在设置创建程序位置时,选择创建一个本地的应用程序而非网络的,即选择“Desktop installation from CD”。

②安装成功,进入Rational Rose界面,如图1-1所示。

天津理工大学软件工程实验报告II

天津理工大学软件工程实验报告II
订单类和库存类都是是图书类的父类,这三个类都是实体类。
管理员类和工作人员类是控制类。
顾客类是边界类。
系统对象图:
附录(可包括源程序清单或其它说明)
心得体会:
通过本次实验,我基本掌握了Ration Rose画类图和对象图的基本操作,也让我感受到想和做有很大的差距,以前总觉得画类图很简单,但当真正画的时候,就感到有些困难,因为需要考虑每个类的属性,以及各个类之间的关系,以后实验课我会继续努力的。
天津理工大学
计算机科学与工程学院
实验报告
2017至2018学年第一学期
课程名称
软件工程
学号
年级
2015
专业
计算
教学班号
3
实验地点
7-215
实验时间
2017年11月14日第三节至11月14日第四节
考核标准
实验过程
25分
建模质量
20分
回答问题
15分
实验报告
30分
特色
功能
5分
考勤违纪情况
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
5分
实验成绩
成绩栏
考核内容
评价在实验课堂中的表现,包括实验态度、建模过程等内容。
○功能完善
○功能不全
○有小错
○质量很差
○正确
○基本正确
○有提示
○无法回答
○完整
○较完整
○一般
○内容少
○无报告
○有
○无
○有
○无
其它批改意见:
教师签字:
实验(二)
实验名称
系统分析与对象类建模
软件环境
Windows操作系统、Rational Rose等软件

天津理工大学数据结构实验报告2

天津理工大学数据结构实验报告2
栈底的位置固定不变,栈顶的位置随着进栈和退栈操作而动态变化,所以顺序栈需要 一个变量top来指示当前栈顶的位置。 1.1 初始化栈 为顺序栈分配连续的栈空间,同时置空栈; 1.2 判断栈是否为空栈 空栈标志为:栈顶指针=栈底指针; 1.3 销魂栈 栈为空则返回1,否则返回0; 1.4 进栈操作 首先判断栈的状态,若未满,则top+1,然后将入栈元素置于栈顶指针top所指的存储单元 中,使之指向新的栈顶,若栈满,发生"上溢",程序退出。 1.5 退栈操作 首先判断栈的状态,若不空,则top-1,使其指向新的栈顶,若为空,发生"下溢",程序 退出。 2. 运用顺序栈结构实现回文问题
Байду номын сангаас
int judge_huiwen(char a[],int n){ //判断一个字符串是否是回文 SeqStack *s; s=InitStack(); int i=1,j=1; while(i<=n/2){ Push(s,a[i]); i++; } if(n%2!=0)i++; while(i<=n&&j==1){ if(a[i]==Pop(s)) i++; else{j=0; break; } } return j;
使用栈,将字符串的前一半入栈,再依次出栈,与后一半进行比较,若不相等,则不 是回文,否则是回文 2.1 初始化栈s; 2.2 利用i记录循环次数,i的初始值为1,循环直到i=字符串的一半时结束 字符串下标为i的字符依次入栈。 2.3 若字符串长度为偶数,i值不变,否则i+1; 2.4 利用while循环,依次比较下标为i的字符串中的字符与出栈元素是否相等,以j=1, 作为标志,若不等j=0并打断循环 2.5 返回j的值,j=1,则字符串是回文,否则不是回文 3. 主函数 3.1 首先输入字符串的长度,然后依次输入字符; 3.2 输出字符串; 3.3 调用函数判断字符串是否是回文。

天津理工大学编译原理实验2语法分析

天津理工大学编译原理实验2语法分析

天津理工大学编译原理实验2语法分析实验报告学院(系)名称:计算机与通信工程学院姓名学号专业班级实验项目实验二:语法分析课程名称编译原理课程代码2016年4月21日第1、2节实验时间 2016年4月26日第3、4节实验地点计算机软件实验室7-220 2016年4月28日第1、2节批改意见成绩教师签字: 实验内容:可选择LL1分析法、算符优先分析法、LR分析法之一,实现如下表达式文法的语法分析器:(1)E?E+T | E-T | T(2)T?T*F | T/F | F(3)F?P^F | P(4)P?(E) | i实验目的:1(掌握语法分析的基本概念和基本方法;2(正确理解LL1分析法、算符优先分析法、LR分析法的设计与使用方法。

实验要求:1(按要求设计实现能识别上述文法所表示语言的语法分析器,并要求输出全部分析过程;2(要求详细描述所选分析方法针对上述文法的分析表构造过程;3(完成对所设计语法分析器的功能测试,并给出测试数据和实验结果;4(为增加程序可读性,请在程序中进行适当注释说明;5(整理上机步骤,总结经验和体会;6(认真完成并按时提交实验报告。

第1页共13页【实验过程记录(源程序、测试用例、测试结果及心得体会等)】使用的是LL(1)分析法,其分析表的构造方法和构造过程如下: 实验源代码: #include<iostream>#include<cstring>#define size 1024using namespace std;int getLength(char str[size]) {int i=0;while(str[i]!='\0')i++;return i;}int getstringLength(string str) {int i=0;while(str[i]!='\0')i++;return i;}char gettop(char stack[size],int top) {if(stack[top]!='\0')return stack[top];elsereturn '#';}void popstack(char *stack,int *pointer){int p=*pointer;cout<<"\tPopup "<<stack[p]<<" out!";stack[p]='\0';(*pointer)--;}void pushstack(char *stack,int *pointer,string str) {int i=0;int length=getstringLength(str);cout<<" push "<<str<<" in stack reversed order."; for(i=length-1;i>=0;i--){(*pointer)++;第2页共13页stack[(*pointer)]=str[i];}}int getcol(char top) {switch(top){case '+':return 0;case '-':return 1;case '*':return 2;case '/':return 3;case '^':return 4;case ')':return 5;case '#':return 6;case '(':return 7;case 'i':return 8;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return -1;}}void show(char str[size],int index){int length=getLength(str);if(index!=-1)cout<<"\t";for(int i=index+1;i<length;i++)cout<<str[i]; }int main(){char str[size];//接受字符串的数组char stack[size];//进行比对的栈int pointer=-1;//指向栈顶的指针int length=0;//记录字符串长度int index=0;//记录输入字符串第3页共13页char top;int i,j;//i表示行,j表示列string production;bool match=false;string table[7][9]={ // + - * / ^ ) # ( i/* E */ "error", "error", "error", "error", "error", "error", "error", "TX", "TX",/* X */ "+TX", "-TX", "error", "error", "error", "empty", "empty", "error", "error",/* T */ "error","error","error","error","error","error","error","FY","FY", /* Y */"empty","empty","*FY","/FY","error","empty","empty","error","error", /* F */ "error","error","error","error","error","error","error","PZ","PZ", /* Z */"empty","empty","empty","empty","^F","empty","empty","error","error", /* P */ "error","error","error","error","error","error","error","(E)","i"};cout<<"Please input character string: ";cin>>str;length=getLength(str);str[length]='#';str[length+1]='\0';// cout<<length<<endl;// cout<<table[0][0]; //已验证可以实现cout<<"符号栈\t当前符号\t输入串\t\t\t\t说明"<<endl;pointer++;stack[pointer]='#';pointer++;stack[pointer]='E';//初始化栈,使栈底是 #Ewhile(str[index]!='\0'){top=gettop(stack,pointer);switch(top){case 'E':i=0;//第1行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);第4页共13页}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production);}break;case 'X':i=1;//第2行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production); }break;case 'T':i=2;//第3行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;第5页共13页return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production);}break;case 'Y':i=3;//第4行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production);第6页共13页}break;case 'F':i=4;//第5行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production);}break;case 'Z':i=5;//第6行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);第7页共13页}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production);}break;case 'P':i=6;//第7行j=getcol(str[index]);production=table[i][j];if(production=="error"){cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}else if(production=="empty"){cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);}else //说明可以进行分解非终结符{cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);popstack(stack,&pointer);pushstack(stack,&pointer,production); }break;case '+':switch(str[index]){case '+':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";第8页共13页show(str,index);cout<<"\tMatch + ! ";//" Popup + and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '-':switch(str[index]){case '-':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch - ! ";//Popup - and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '*':switch(str[index]){case '*':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch * ! ";//Popup * and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '/':第9页共13页switch(str[index]){case '/':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch / ! ";//Popup / and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '(':switch(str[index]){case '(':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch ( ! ";//Popup ( and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case ')':switch(str[index]){case ')':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch ) ! ";//Popup ) and next char in."<<endl;popstack(stack,&pointer);match=true;break;第10页共13页default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '^':switch(str[index]){case '^':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch ^ ! ";//Popup ^ and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case 'i':switch(str[index]){case 'i':cout<<"\n";show(stack,-1);cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch i ! ";//Popup i and next char in."<<endl;popstack(stack,&pointer);match=true;break;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;case '#':switch(str[index]){case '#':cout<<"\n";show(stack,-1);第11页共13页cout<<"\t"<<str[index]<<"\t";show(str,index);cout<<"\tMatch # ! 分析成功~";//Popup # and next char in."<<endl;return 0;default:cout<<"Error! This character string is not this grammer`s sentence."<<endl;return 0;}break;}if(match){index++;match=false;}}return 0;}实验代码测试结果:下面图片是以给定文法画出的一个语法树。

大工20春《软件工程实验(二)》实验报告答案

大工20春《软件工程实验(二)》实验报告答案

大工20春《软件工程实验(二)》实验报
告答案
本次实验要求同学们使用 Git 进行版本控制,将代码提交到GitHub 上,并记录提交的过程,在实验报告中详细描述 Git 的使用。

实验步骤:
2. 创建一个本地版本库;
3. 在 GitHub 上创建一个远程版本库;
4. 将本地版本库与远程版本库进行关联;
5. 在本地版本库中进行修改,并提交到本地;
6. 完成修改后,再将本地版本库与远程版本库同步。

实验中遇到的问题及解决办法:
1. 如何在 GitHub 上创建一个远程版本库?
解决办法:先创建一个空的远程版本库,然后将本地版本库与
远程版本库进行关联即可。

2. 如何将本地版本库与远程版本库进行关联?
解决办法:使用命令 git remote add origin 远程版本库地址。

3. 如何将本地修改提交到本地版本库中?
4. 如何将本地版本库与远程版本库同步?
解决办法:使用命令 git push -u origin master。

本次实验让我初步了解了 Git 的使用,通过实践,进一步掌握了版本控制的原理和方法,并在 GitHub 上创建了自己的远程版本库,实践出真知,受益匪浅。

软件工程实验报告

软件工程实验报告

软件工程实验报告在当今科技日新月异的时代,软件工程成为各行各业中不可或缺的一环。

为了更好地培养学生的软件工程能力,各大高校开设了相关课程,并在其中加入了实验环节。

本篇文章将对软件工程实验报告的撰写进行探讨。

首先,软件工程实验报告的撰写应该贴近实验过程。

这意味着在实验之前,我们应该对实验内容有足够的了解,并对实验的目标有清晰的认识;在实验中,我们应该认真观察并记录实验过程中发生的所有细节;在实验之后,我们应该对结果进行分析,并对实验中存在的问题进行思考和归纳。

只有在真正深入实验过程,并对实验经过有全面的掌握后,我们才能写出一份优秀的实验报告。

其次,软件工程实验报告的撰写应该具备科学的逻辑性和清晰的表达能力。

在撰写实验报告时,我们应该先明确实验的目的,并在实验结果中体现出来;同时,我们需要将实验中所遇到的所有问题和解决方案进行详细的阐述,以便读者更好地理解实验过程和结果。

此外,在写实验报告时,我们应该注意语言的简洁明了,句式的条理清晰,以及格式的规范统一。

最后,在软件工程实验报告的撰写中,引用和参考文献的使用也是非常重要的。

我们应该在实验报告中注明所使用的软件和工具的名称、版本号等信息,以便读者对结果进行验证和复现。

同时,在实验报告中,我们还应该引用相关的文献,为实验结果提供支撑和佐证。

总之,软件工程实验报告的撰写是一个非常重要的环节,它能够反映出我们在实验过程中的观察能力、思考能力、分析能力、表达能力等多方面的能力。

因此,我们应该认真对待实验报告的撰写,力求做到准确、明确、清晰。

只有这样,我们才能更好地掌握软件工程知识,为将来的学习和工作打下坚实的基础。

软件工程实验报告(总)(二)

软件工程实验报告(总)(二)

软件工程实验报告(总)(二)引言概述:本文为软件工程实验报告的第二部分,旨在对实验中的相关内容和结果进行详细阐述。

在本报告中,将从以下五个大点展开讨论:需求分析、系统设计、编码和测试、性能优化以及结果总结。

正文内容:一、需求分析1. 定义需求分析的目标和方法2. 收集用户需求并进行整理3. 确定功能性和非功能性需求4. 确定系统的用例和场景5. 制定需求规格说明文档二、系统设计1. 选择合适的架构和设计模式2. 制定系统的结构设计和模块划分3. 定义数据库的设计和表结构4. 设计用户界面和交互流程5. 制定详细的系统设计说明文档三、编码和测试1. 使用选定的编程语言和开发工具进行编码2. 编写单元测试用例并进行测试3. 进行集成测试和系统测试4. 进行用户界面测试和用户验收测试5. 进行代码的静态分析和质量评估四、性能优化1. 分析系统的瓶颈和性能问题2. 进行性能测试并收集性能数据3. 优化代码和算法以提高系统的响应速度4. 使用缓存和并发控制来提高系统的并发处理能力5. 进行系统负载测试和稳定性测试五、结果总结1. 对实验过程和结果进行总结和评价2. 分析实验中遇到的问题和解决方案3. 归纳实验中的经验教训和启示4. 提出改进和优化的建议5. 结尾陈述实验的意义和价值,展望未来的研究方向总结:通过本次实验,我们深入理解了软件工程的实践过程,并对需求分析、系统设计、编码和测试、性能优化等方面进行了全面的探索和实践。

我们成功完成了实验并取得了一系列有意义的结果。

然而,我们也面临了一些挑战和困难,但这些经历使我们更加成熟和富有经验。

在未来的研究中,我们将继续探索和改进软件工程的各个方面,以构建更加优质和高效的软件系统。

软件工程实验报告总结

软件工程实验报告总结
3
4
4
4
等边三角形
条件2“真”条件3“真”
4
3
4
5
直角三角形
条件3“假”
条件4“真”
5
2
4
5
一般三角形
条件4“假”
(3)条件覆盖
对于第一个判断:条件0<a<200取真为T1,取假为F1;
条件0<b<200取真为T2,取假为F2;
条件0<c<200取真为T3,取假为F3;
对于第二个判断:条件a<b+c取真为T4,取假为F4;
总结 :经过一学期的软工实验,深刻感到其重要性的同时也学到了不少的东西 ,将对我在今后的软件开发过程中起极大的作用。
篇二
实验一软件工程标准化文档
一、实验目的
1.了解国家标准GB/T8567-2006
2.熟悉软件产品开发文件的基本内容
二、实验内容
1.搜索和下载国家标准GB/T8567-2006。
2.通过阅读国家标准GB/T8567-2006,将以下文字填写完整:
软件工程实验报告总结(3篇)
经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。
需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。

天津理工大学 计算机网络实验二

天津理工大学 计算机网络实验二
第7页 共9页
}
/****************************************************************************** * Send data * ***************************************************************************/ void MainWindow::sendMessage() { QString textEdit = ui->lineEdit->text(); QString strData =QString::fromLocal8Bit("Time: ") + QTime::currentTime().toString() + "\n" + textEdit.toLocal8Bit() + "\n"; QByteArray sendMessage = strData.toLocal8Bit(); mChat += ("Send " + sendMessage); ui->textEdit->setText(mChat); tcpSocket->write(sendMessage); ui->lineEdit->clear(); } /****************************************************************************** * Receive data * ***************************************************************************/ void MainWindow::onReciveData() { QString data = tcpSocket->readAll(); qDebug()<<data; mChat +=("Recv " + data); ui->textEdit->setText(mChat); } /****************************************************************************** * Create new listen * ***************************************************************************/ void MainWindow::newListen() { if(!tcpServer->listen(QHostAddress::Any,6666)) { qDebug()<<tcpServer->errorString(); tcpServer->close(); } } /****************************************************************************** * Accept connection

软件工程实验报告(总)

软件工程实验报告(总)

软件工程实验报告(总)————————————————————————————————作者:————————————————————————————————日期:信息工程学院软件工程实验报告专业:班级:学号:姓名:指导老师:实验一:软件开发的过程计划实验课时:2课时一、实验目的项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。

⑴估计项目的总体规模、工作量和成本。

⑵制定项目计划,重点放在产品生命周期中的主要关键任务。

⑶制定项目时间表和预算。

二、实验环境1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。

2.软件环境操作系统:Windows XP数据库:Sql Server 2000以上或Access 2003以上3.通用工具软件通用绘图工具:MicroSoft Visio 2003以上文本编辑工具:MicroSoft Word 2003以上4.CASE工具UML建模工具:Rational Rose 2000三、实验要求、实验内容1、实验要求:在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。

2、实验内容熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。

学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题1、项目开发首先要做的事是什么?答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。

2、你认为该软件应具备的最重要的特性是什么。

答:安全性、实用性、灵活性。

3、你认为怎样分工是最合理的?答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工作员有问题的话,内部自己解决,只要按时汇报工作就可以了。

[VIP专享]天津理工大学计算机项目管理实验报告

[VIP专享]天津理工大学计算机项目管理实验报告

学院(系)名称:计算机与通信工程1.2设置成本信息—标准费率、加班费率、每次使用成本、生效日期的作用双击项目中的空格弹出对话框:在资源名称中输入“工时管理”,将缩写设置为“GSGL”,类型设置为“工时”2.材料资源的建立2.1设置材料标签和工时管理建立操作类似,建立一个“材料管理“的资源类型,将其类型设置为”材2.2设置材料资源成本信息在对话框中点击“成本“标签,弹出对话框设置相应的成本信息二:掌握资源的分配1.为任务分配资源的方法在“视图”菜单上,单击“甘特图”;在“任务名称”域中,选择要为其分配资源的任务;单击“分配资源”;在“资源名称”域中,单击要分配的资源的名称;在“请求/要求”列中,单击“请求”或“要求”指定是否需要将此资源分配给该任务;此资源设置用于“资源置换向导”;如果您请求了该资源,向导将仅在该资源未过度分配的条件下分配资源。

分配单个全职工时资源:确保所选资源的“单位”域显示为 100%,单击“分配”。

分配单个兼职工时资源:在“单位”域中,键入一个小于 100 的百分比。

该数值代表您希望该资源在该任务中花费的工作时间的百分比。

例如,如果资源将工作时间的一半用在此任务中,应键入“50%”,单击“分配”。

分配一组多个工时资源:在“单位”域中,键入一个大于 100 的百分比。

此值代表此资源组投入工作的程度。

例如,如果资源为操作人员,人数为三名,并且您要将他们全部指定为全职,应键入“300%”。

单击“分配”。

指定材料资源的消耗率:在“单位”域中,键入一个小数,表示用于该工作分配的材料数量,然后输入材料标签。

例如,若要用 20 码长的木材,可键入“20”。

如果所使用的材料数量取决于任务工期,可以通过添加斜线 (/) 以及工期代码或缩写输入使用率。

例如:如果每周要20 码长的木材,则输入“20/周”或“20/w”。

单击“分配”。

六:“报表”功能的使用在菜单中选择“视图“,选中下拉菜单中“报表”可以对“成本”进行相应的分析。

天津理工大学实验报告填写示例1 (1)

天津理工大学实验报告填写示例1 (1)
硬件环境:IBM-PC或兼容机
局域网、PC机连入Internet
(三)实验学时:
2学时,必做,验证实验
(四)实验内容:
根据每次实验内容自行填写
(五)实验要求:
可以根据每次实验逐条简单书写实验要求
(六)实验步骤:
前三个实验手工抄写各自源程序代码,不允许雷同,如发现,二者均做零分处理!
(七)实验中遇到的问题及解决方法:
天津理工大学实验报告
学院(系)名称:计算机科学与技术学院
姓名
学号专业ຫໍສະໝຸດ 计算机科学与技术(中加)班级
实验项目
(根据每次实验内容自行填写)类和对象的定义和实现
课程名称
课程代码
实验时间
实验地点
批改意见
成绩
教师签字:
(一)实验目的:
(根据每次实验内容自行填写)
(二)实验环境:
软件环境:Windows 2000/XP
将实验中的问题及解决办法简单概括,字数不限!问题及解决办法好的实验报告给予加分!
目前的三次实验项目
实验一:Java程序设计初步
实验二:Java面向对象机制(1)
实验二:Java面向对象机制(2)
634121948@

天津理工大学计算机专业UML面向对象实验二

天津理工大学计算机专业UML面向对象实验二

天津理工大学实验报告
【实验过程记录(源程序、测试用例、测试结果及心得体会等)】测试用例:自动出纳机
实验步骤:
1.准备脚本;
2.确定事件;
3.构造状态图;
测试结果如下
“分行”类的状态图
“分理处”类的状态图
测试结果及心得体会:
1.对类模型中的类建立状态图,反映对象接收和发送的事件,每个脚本都对应于状态图中一条路径。

2.首先为“正常”情况准备脚本,然后考虑“特殊”情况,最后考虑用户出错情况。

3.使用脚本可以发现正常事件,但不要遗漏条件和异常事件。

4.使用Microsoft V isio绘图要提高效率,应该注意步骤和各个对象的安排
大学啊不错啊,好好学习,不要耽误了青春,但是是这个专业坑爹啊,,找好自己的方向,不要被这个专业误导了啊,,
理工的学妹,学弟们,你说呢,,哈哈哈哈,嘿嘿联系/。

软件工程实验报告(总)精简版范文

软件工程实验报告(总)精简版范文

软件工程实验报告(总)软件工程实验报告(总)实验概述本实验的目的是通过设计和开发一个软件项目,了解和掌握软件工程的相关知识和技能。

在本实验中,我们选择了一个具有一定规模和复杂性的软件项目,并通过迭代开发的方式逐步完成与。

项目背景我们的项目是一个在线购物系统,主要的功能包括用户注册和登录、浏览商品、添加商品到购物车、结算购物车等。

通过这个项目,我们可以熟悉和应用软件工程中的一些概念和技术,如需求分析、系统设计、编码实现、单元等。

项目规划在项目启动阶段,我们进行了需求分析和系统设计。

通过与用户的沟通和调研,我们确定了系统的功能模块,并绘制了用例图、类图和时序图。

然后,我们根据设计文档进行了编码实现,并使用单元验证了每个功能模块的正确性。

迭代开发为了保证项目的可控性和质量,我们采用了迭代开发的方式。

在每个迭代周期中,我们根据需求和设计文档进行编码,并在迭代结束后进行单元和修复。

每个迭代周期通常持续一到两周,根据项目进展和问题的复杂性进行调整。

项目管理为了协作开发和有效管理项目,我们使用了一些项目管理工具和技术。

我们使用Git进行版本控制,并使用GitHub进行代码托管。

我们使用Trello进行任务分配和进度跟踪,通过邮件和在线会议进行团队沟通和协调。

实验结果通过本次实验,我们成功完成了一个在线购物系统的设计和开发。

系统可以实现用户注册和登录、浏览商品、添加商品到购物车、结算购物车等功能。

我们对每个功能模块进行了单元,并确保系统的正确性和稳定性。

实验本次实验为我们提供了一个锻炼和展示软件工程能力的机会。

通过实际的项目开发,我们深入了解了软件工程中的各个阶段和技术,提高了团队协作和问题解决的能力。

我们也意识到了实际项目开发的挑战和复杂性,为将来的工作做好准备。

软件工程实验报告完整版(参考)

软件工程实验报告完整版(参考)

XXXX大学软件工程课程实验报告(参考)题目:宿舍管理系统专业:计算机科学与技术班级:081班组:第一组姓名:指导教师:完成日期:目录一、项目开发计划书2二、需求规格说明书4三、设计规格说明书7四、源程序清单15五、测试报告31六、用户手册36一、项目开发计划书完成人:1.引言(Introduction)1.1项目概述(Project Summary)该系统是由管理员通过系统管理学生信息,能根据学生学号、院系、寝室号等来查询学生的其他相关信息,新生入住能录入新生的住宿信息,能查询房间的信息如入住人数、人员等。

学生遇毕业退学等原因迁出宿舍,可以删除其住宿信息。

1.2 术语定义(Terms Glossary)入住管理:要包括入住人员详细的学籍信息。

房间信息:包括宿舍门号,电话号码以及可住人数,已住人数。

信息查询:通过学生宿舍信息可以查询学生的详细信息。

1.3 相关文档(Related Documents)[1] 软件需求规格说明书[2] 设计规格说明书2.软件生存周期(Software Life Cycle)本节记录项目策划生存期定义的工作结果,需要描述的主要内容:(1)项目生存期框图(2)项目生存期说明需求分析→需求规格说明书( 用例图,数据流图)设计阶段→界面设计( 界面规格说明) 数据库设计编码阶段→具体实现测试阶段→测试报告3.任务与工作产品(Task and Work Products)4.工作产品、任务规模、工作量估计(Estimates of Work Product,Task Size and Workload)5.资源需求计划(Resource Requirement Plan)6.软件项目进度计划(Software Project Schedule)二、需求规格说明书完成人:1.概述(Summary)1.1项目的目的与目标(Purpose and Aim of Project)为各集体宿舍管理人员提供,方便对宿舍楼进行管理,以便使用者能够更全面的,更迅速的了解宿舍住宿情况的所有情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天津理工大学
计算机科学与工程学院
实验报告
2017 至2018 学年第一学期
课程名称软件工程
学号20156433 学生姓名武霏年级2015 专业计算教学班号 3 实验地点7-215 实验时间2017年11月14 日第三节至11 月14 日第四节考
核标准实验过程
25分
建模质量
20分
回答问题
15分
实验报告
30分
特色
功能
5分
考勤违
纪情况
5分
实验成绩
成绩栏
考核内容评价在实
验课堂中
的表现,包
括实验态
度、建模过
程等内容。

○功能完善
○功能不全
○有小错
○质量很差
○正确
○基本正确
○有提示
○无法回答
○完整
○较完整
○一般
○内容少
○无报告
○有
○无
○有
○无
其它批改意见:
教师签字:
实验(二)实验名称系统分析与对象类建模软件环境Windows操作系统、Rational Rose等软件
硬件环境IBM-PC或兼容机
实验目的
以“网上图书销售系统”为例,完成系统几个类的UML表示和类图。

实验内容(应包括实验题目、实验要求、实验任务等)
实验题目: 系统分析与对象类建模
实验要求:正确识别出系统中的所有实体类、边界类和控制类;给类添加必要的属性和方法;准确描述类间关系。

实验任务:1. 根据“网上图书销售系统”的用例模型,利用Rational Rose工具建立系统的类图和对象图。

2. 正确识别出系统中的所有实体类、边界类和控制类。

3. 给类添加必要的属性和方法。

4. 准确描述类间关系。

实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)
系统类图:
类图间各类关系的描述:
个人资料类是顾客、工作人员、和管理员类的直接父类,其中,顾客可以更改自己的个人资料,管理员可以更改工作人员的个人资料,这是一个实体类,只有属性,没有方法。

订单类和库存类都是是图书类的父类,这三个类都是实体类。

管理员类和工作人员类是控制类。

顾客类是边界类。

系统对象图:
附录(可包括源程序清单或其它说明)
心得体会:
通过本次实验,我基本掌握了Ration Rose画类图和对象图的基本操作,也让我感受到想和做有很大的差距,以前总觉得画类图很简单,但当真正画的时候,就感到有些困难,因为需要考虑每个类的属性,以及各个类之间的关系,以后实验课我会继续努力的。

相关文档
最新文档