武汉理工大学软件工程基础实验第五次实验报告

合集下载

武汉理工大学软件开发工具实验报告

武汉理工大学软件开发工具实验报告

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称软件开发工具开课学院计算机科学与技术学院指导老师姓名张能立学生姓名学生专业班级2014— 2015学年第1学期实验课程名称:软件工具与环境实验项目名称Eclipse平台及程序调试技术实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)1、掌握Eclispe平台的工作台(Workbench)、透视图(Perspectives)、视图(Views)、首选项(Preferences)概念。

2、掌握透视图切换的方法。

3、编写一个简单的Java程序,并能正确运行4、掌握设置断点及调试跟踪程序的方法。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)具体内容:1、启动Eclispe,在Java透视图、Java Debug透视图、MyEclipse Database Explorer透视图以及MyEclipse Java Enterprise透视图之间来回切换,与同学或老师讨论一下这些透视图的作用。

2、编写一个在控制台输出“Hello World!”的程序和一个在控制台输出1+2+3+…+100之和的程序。

3、设置断点,调试1+2+3+…+100之和这个程序,观察循环自变量和求和变量值的变化。

public class HelloWorld {public static void main(String[] args){System.out.println("HelloWorld");}}public class Sum_while {public static void main(String[] args){// TODO Auto-generated method stubint i = 1, n = 100, sum = 0;while(i<n){sum += i;i++;}System.out.println("i="+i);System.out.println("Sum="+sum);}}三、主要仪器设备及耗材PC机,Eclipse开发工具第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)调试正常。

软工教学基础实训报告总结

软工教学基础实训报告总结

随着信息技术的飞速发展,软件工程已经成为现代社会不可或缺的一部分。

为了让我们更好地理解软件工程的基本概念、方法和工具,本学期我们进行了软工教学基础实训。

通过这段时间的实训,我对软件工程有了更为深刻的认识,以下是我对实训过程的总结和心得体会。

一、实训目的与内容本次实训旨在通过实际操作,加深对软件工程基本理论和方法的理解,提高我们的实践能力和团队协作能力。

实训内容主要包括以下几个方面:1. 软件开发环境搭建:学习并熟练使用常用的软件开发工具,如Visual Studio、Eclipse等。

2. 软件需求分析:学习如何通过需求分析会议、问卷调查等方法获取用户需求,并撰写需求规格说明书。

3. 软件设计:学习软件架构设计、数据库设计、界面设计等,并使用UML图进行设计文档的编写。

4. 软件编码:学习编程语言(如Java、C++等)的基本语法和编程规范,进行代码编写和调试。

5. 软件测试:学习软件测试的基本方法,如单元测试、集成测试、系统测试等,并编写测试用例。

6. 项目管理:学习项目管理的基本知识,如项目计划、进度控制、风险管理等。

二、实训过程与收获1. 理论与实践相结合在实训过程中,我们不仅学习了软件工程的基本理论,还通过实际操作加深了对这些理论的理解。

例如,在学习软件需求分析时,我们通过实际参与需求分析会议,学会了如何与用户沟通,获取需求;在学习软件设计时,我们通过绘制UML图,将抽象的设计思想转化为具体的图形表示。

2. 提高编程能力通过实训,我们掌握了编程语言的基本语法和编程规范,提高了编程能力。

在编码过程中,我们学会了如何编写可读性高、可维护性好的代码,并学会了使用版本控制工具(如Git)进行代码管理。

3. 团队协作能力在实训过程中,我们以小组为单位进行项目开发,这锻炼了我们的团队协作能力。

我们学会了如何分配任务、沟通协调,以及如何处理团队内部的问题。

4. 解决问题的能力在实训过程中,我们遇到了许多问题,如代码错误、设计不合理等。

软件工程实验报告

软件工程实验报告

软件工程实验报告一、实验目的。

本实验旨在通过对软件工程的实际操作,加深对软件工程理论知识的理解,提高学生的软件开发能力。

具体目的包括:1. 熟悉软件工程的基本概念和原理;2. 掌握软件需求分析、设计、编码、测试等基本方法和技术;3. 提高团队协作能力和项目管理能力。

二、实验内容。

本次实验内容主要包括以下几个方面:1. 软件需求分析,通过对一个实际问题的需求收集和分析,明确软件的功能和性能需求;2. 软件设计,根据需求分析的结果,进行软件系统的总体设计和详细设计;3. 软件编码,根据设计文档,进行软件的编码工作;4. 软件测试,对编码完成的软件进行测试,确保软件的质量和稳定性。

三、实验过程。

1. 软件需求分析阶段。

在软件需求分析阶段,我们小组首先进行了需求的收集和整理工作。

通过与用户的沟通和调研,我们明确了软件的功能需求和性能需求,并对其进行了详细的文档记录。

在需求分析的过程中,我们也发现了一些需求之间的冲突和不完整之处,因此进行了进一步的讨论和修正。

2. 软件设计阶段。

在需求分析阶段完成后,我们进行了软件系统的总体设计和详细设计工作。

在总体设计阶段,我们确定了软件的整体架构和模块划分,明确了各个模块之间的接口和关系。

在详细设计阶段,我们对每个模块进行了具体的设计,包括算法、数据结构、接口等方面的设计。

3. 软件编码阶段。

在软件设计完成后,我们开始了软件的编码工作。

在编码阶段,我们严格按照设计文档的要求进行编码,注重代码的规范和可读性。

在编码过程中,我们也进行了一些单元测试,确保编码的正确性和稳定性。

4. 软件测试阶段。

在软件编码完成后,我们进行了软件的测试工作。

在测试阶段,我们采用了黑盒测试和白盒测试相结合的方法,对软件进行了功能测试、性能测试、安全测试等多方面的测试。

在测试过程中,我们发现了一些问题并及时进行了修复。

四、实验总结。

通过本次实验,我们深刻地体会到了软件工程理论知识在实际项目中的应用,提高了我们的团队协作能力和项目管理能力。

软件工程实验报告

软件工程实验报告

软件工程实验报告1. 引言在本次实验中,我们小组对软件工程的相关原理进行了实践探索。

通过实际操作,我们学习了软件开发的基本流程,并在此基础上完成了一个简单的软件项目。

本报告将详细介绍我们的实验方法、过程和结果。

2. 实验目标本实验的主要目标是让我们理解并熟悉软件工程的基本概念和方法,包括需求分析、设计、编码、测试和维护等环节。

通过完成一个小型软件项目,我们可以实际体验到软件工程的整个生命周期,并了解其中的各个环节的重要性。

3. 实验方法我们选择了一种敏捷开发方法作为实验的基本框架,并结合具体需求进行了适当的调整。

在产品规划和需求分析阶段,我们与客户进行了充分的沟通,并明确了软件的功能需求和非功能需求。

然后,我们进行了系统设计,并将设计方案转化为具体的软件模块。

接下来,我们进行了编码工作,并进行了单元测试和集成测试。

最后,我们对软件进行了系统测试,并进行了性能测试和用户验收测试。

4. 实验过程在实验过程中,我们按照敏捷开发的原则进行了任务的拆分和分配。

我们设立了每日的站立会议,用于协调各个团队成员的进展并解决可能出现的问题。

在每个迭代周期结束后,我们进行了迭代评审,并对下一轮迭代进行规划。

这样的循环持续进行,直到我们完成了整个软件项目。

期间,我们还进行了代码审查和用户反馈收集,以便及时改进。

5. 实验结果最终,我们成功地完成了目标软件的开发,并通过了用户的验收测试。

该软件可以实现用户的基本需求,且具备良好的性能和稳定性。

通过这次实验,我们更深入地了解了软件工程的实际应用,并掌握了一些常用的开发工具和技巧。

同时,我们也意识到在软件开发中,团队合作和迭代开发的重要性。

6. 实验总结通过这次实验,我们对软件工程的实践过程有了更为深刻的理解。

我们经历了需求分析、设计、编码、测试等各个环节,并成功地完成了一个小型软件项目。

通过实践,我们发现了软件工程方法在提高开发质量和效率方面的价值。

同时,我们也认识到软件开发是一个不断迭代、不断优化的过程,只有与团队紧密合作并且持续改进,才能实现最终的成功。

软件基础期末实验报告

软件基础期末实验报告

一、实验名称软件基础实验二、实验目的1. 熟悉软件工程的基本概念和原则。

2. 掌握软件开发的基本流程和方法。

3. 提高编程能力和团队协作能力。

4. 通过实验加深对软件工程理论知识的理解。

三、实验内容本次实验主要涉及以下几个方面:1. 需求分析2. 系统设计3. 编码实现4. 测试与调试5. 项目文档编写四、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#五、实验步骤1. 需求分析(1)确定实验项目:设计并实现一个简单的学生管理系统。

(2)收集需求:与学生沟通,了解他们的需求,如添加、删除、修改、查询学生信息等。

(3)编写需求规格说明书:详细描述系统的功能、性能、界面等。

2. 系统设计(1)设计系统架构:采用分层架构,包括表示层、业务逻辑层和数据访问层。

(2)设计数据库:根据需求分析,设计学生信息表,包括学号、姓名、性别、年龄、班级等字段。

(3)设计界面:使用WinForms或WPF等技术设计用户界面,包括添加、删除、修改、查询等功能。

3. 编码实现(1)编写业务逻辑层代码:实现学生信息的增删改查功能。

(2)编写数据访问层代码:使用技术实现与数据库的交互。

(3)编写表示层代码:实现用户界面,与业务逻辑层进行交互。

4. 测试与调试(1)编写测试用例:针对每个功能编写测试用例,确保功能的正确性。

(2)进行单元测试:对每个模块进行测试,确保模块功能的正确性。

(3)进行集成测试:将各个模块组合在一起,测试整个系统的功能。

(4)调试:根据测试结果,对系统进行调试,修复存在的问题。

5. 项目文档编写(1)编写项目需求规格说明书:详细描述系统的功能、性能、界面等。

(2)编写项目设计说明书:描述系统的架构、数据库设计、界面设计等。

(3)编写项目测试报告:记录测试过程、测试结果、存在的问题等。

六、实验结果与分析1. 实验结果通过本次实验,成功实现了一个简单的学生管理系统,包括添加、删除、修改、查询等功能。

软件工程实验(共五次)

软件工程实验(共五次)

软件工程课程实验指导书软件工程是随着计算机系统的发展而逐步形成的计算机科学领域中的一门新兴学科。

通过软件工程课程的学习,能够达到正确的安排软件的结构,合理组织、管理软件的生产的教学目的。

教学的实践环节是本课程的重要部分,通过实验例证理解掌握软件工程各阶段的任务和完成后的文档是什么及完成方法。

本课程实验环节安排10学时,主要完成需求分析、模块设计、数据库设计、详细设计和测试分析六个部分。

具体安排如下:课时分配:内容实验一实验二实验三实验四实验五课时 2 2 2 2 2实验一编写系统需求说明书一、实验题目对系统进行需求分析。

并编写系统需求分析说明书。

二、实验目的通过对选定系统进行系统分析和编写需求说明书,掌握系统需求分析的步骤和方法,明确需求说明书内容和格式。

通过对visio2003的熟悉应用,把系统的逻辑模型画出来。

三、预习1、系统的数据描述、功能描述方法;2、需求分析工具(业务流程图、数据流图、数据字典);3、系统需求分析步骤和内容;四、实验设备与环境1、运行和使用visio2003;2、收集整理资料的资料室和虚拟用户或实际用户。

五、实验内容选定系统后,进行系统分析,然后按如下编写提示撰写需求说明书。

1、引言⑴编写目的说明编写软件需求说明的目的,指出预期的读者。

⑵背景说明说明待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算机中心或网络中心;该软件系统同其他系统或其他机构的基本的相互来往关系。

⑶定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

⑷参考资料列出有关的参考资料及资料的来源。

2、任务概述⑴目标叙述该软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。

解释被开发软件与其他有关软件之间的关系。

如果本系统是一项独立的软件,而且全部内容自含,则说明这一点。

如果所定义的系统是一个更大的系统的组成部分,则应说明本系统与该系统中其他各组成部分的关系,用方框图来说明该系统的组成和本系统同其他各个部分的联系和接口。

软件需求工程(武汉理工)

软件需求工程(武汉理工)
非功能需求:
首先有三种版本,分别适用于安卓智能机、苹果机、以及ipad高清版,所以对于大多数用户来说换设备不会导致不能用该软件,可移植性较高。另外不会经常死锁,也不会跳屏,及时更新也减小了用户对软件bug的不满程度。
三、实验小结、建议及体会
金山词霸是我从高中开始就使用到现在的,对他也有一定的感情,所以其他的查词软件基本不会用,比如有道啊什么的。通过学习了软件需求工程才发现一款软件的需求分析是多么重要,如果没有这一环节,软件无疑是失败的,只有经过一系列的分析,调查,才十分有利于软件的生命周期,这对于我的职业生涯肯定很有帮助,另外,感谢老师的栽培。
非功能需求的讨论
三、主要实验工具、仪器设备及耗材
课本、Pc、网上资料
第二部分:实验结果分析(可加页)
一、实验结果描述
根据实验的进行得出了以下结论:
用户需求:
对用用户来说,使用必须足够简单,只用一个账号,一个密码,就可以进行所有信息的查询,
例如,课表、成绩、个人信息等。
管理员。系统的管理员主要是对学生信息以及学生成绩进行一些操作。这些操作包括对学生信息的添加、对学生成绩的录入以及对学生成绩进行分析等。
上图就是每日一词的内容,明显今天的是vampire。。。我记住了
下面展示一下他的查词功能:
我试验的是apple,他下面谁出现类似的各种单词,也顺便防止了
某些同学想查一下只记得开头的单词,帮组恢复记忆。
下面测试的是翻译功能,比如输入“早上好”
他下面则会呈现除翻译成英文的结果,另外还提供法语、韩语、日语等翻译
安全性:
因为学生成绩管理系统关系到学校对学生基本资料所行操作的正确性与准确性,所以对于学校而言对安全保密性的要求非常严格,所以不能让非管理员对学生成绩进行操作

武汉理工大学软件开发工具实验报告

武汉理工大学软件开发工具实验报告

武汉理工大学学生实验报告书实验课程名称软件开发工具开课学院计算机科学与技术学院指导老师姓名向广利学生姓名学生专业班级软件zy13022015—2016学年第1 学期实验课程名称:软件开发工具</label></div><button class="btnbtn-lgbtn-primary btn-block" type="submit" id="submitButton">登录</button></form></div></body></html>(2)其他源代码(见附件)二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)网页效果:(1)登录页面:(2)用户信息页面:(3)公告页面:(4)实验室页面:(5)仪器设备管理页面:(6)低值品与耗材管理页面:三、实验小结、建议及体会在这次实验中,我学会了如何利用Bootstrap开源框架开发前端,其中学会了不少东西,包括html5、css和javascript的基本语法。

以前觉得页面开发应该很简单,拖拖拉拉控件就行,现在发现并不是那么简单,代码的组织也是非常重要的,好看的页面也是要用心组织代码才能实现的,以后的实验我会继续努力的!实验课程名称:软件开发工具第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)内容:利用MVC框架进行后端设计和开发,内容自定义。

二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等,用硬件逻辑或者算法描述)本次实验开发采用的是J2EE技术。

J2EE提供了更为显著和灵活的安全特性。

J2EE采用Java认证和授权服务,作为其核心的安全性协议和保障。

J2EE采用部署描述的方式,使系统组件的部署员可以灵活地对每个组件Servlet、EJB、JavaBean进行配置,从而实现角色的身份验证。

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

实验五UML系统分析与设计
----UML建模案例
实验5-1 用例图设计
实验5-2 类和对象图设计
实验5-3 交互图设计
实验5-4 状态图设计
实验5-5 活动图设计
成绩评定表:
实验5-1 用例图设计
一、实验目的
掌握在EA中用例图的基本用法和使用技巧。

二、实验内容与要求
本实验给予某学校的网上选课系统的用例图的设计和实现。

需求描述如下:
某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开设的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。

学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。

同样,通过业务层,这些操作结果存入数据库中。

分析:
本系统拟用三层模型实现:数据核心层、业务逻辑层和接入层。

其中,数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;而接入层包括用户界面,包括系统登陆界面、管理界面、用户选择界面等。

本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者people,而管理员和学生从people统一派生。

数据库管理系统是另外一个活动者。

系统事件:
添加课程事件:
(1)管理员选择进入管理界面,用例开始。

(2)系统提示输入管理员密码。

(3)管理员输入密码。

(4)系统验证密码。

(5)A1密码错误
(6)进入管理界面,系统显示目前所建立的全部课程信息。

(7)管理员许恩泽添加课程。

(8)系统提示输入新课程信息。

(9)管理员输入信息。

(10)系统验证是否和已有课程冲突。

(11)A2 有冲突。

(12)用例结束。

其他事件:
A1 密码错误
(1)系统提示再次输入。

(2)用户确认。

(3)三次错误,拒绝再次访问。

(4)否则进入添加课程事件第6步。

A2 有冲突
(1)系统提示冲突,显示冲突课程信息。

(2)用户重新输入。

(3)继续验证直到无冲突。

(4)进入添加课程事件第12步。

删除课程事件和修改课程事件与添加课程事件类似。

请自行描述。

选课事件:
(1)学生进入选课登陆界面,用例开始。

(2)系统提示输入学号和密码。

(3)学生输入学号和密码。

(4)系统验证。

A1 验证失败
(5)进入选课主界面。

(6)学生点击选课。

(7)系统显示所有课程信息。

(8)学生选择课程。

(9)系统验证课程是否可选。

A2 不可选。

(10)系统提示课程选择成功,提示学生交费。

(11)用例结束。

错误事件:
A1: 验证失败。

(1)系统提示验证失败,提示重新输入。

(2)三次失败,拒绝访问。

(3)成功,转选课事件第5步。

A2: 课程不可选。

(1)系统提示课程不可选原因。

(2)学生重新选课。

(3)重新验证直到成功。

(4)转选课事件第10步。

付费事件和查询事件不做描述。

根据以上分析,绘制系统所有用例图。

三、实验过程与结果
四、实验小结和体会
用例图的建立我明白了活动者不一定单指人,它是指系统以外的,可以是人也可以是事物,用例图的边界指的是系统内部的,边界外的指的是系统外部的。

明白了用例的泛化,
包含,和扩展关系。

实验5-2 类和对象图设计
一、实验目的
掌握EA中类图和对象图刻划系统的一般步骤和技巧,掌握类图和对象图中的各种基本概念的含义和表达方法。

二、实验内容与要求
(1)根据实验5-1的问题描述,结合序列图中的描述,抽象出选课系统中的类(除角色外),然后作出他们的类图。

(2)在选课系统中,涉及到的用户包括管理员和学生,其主要特征相似,所以可以建立统一基类people,而管理员和学生则由people派生。

创建它们三者之
间的类图。

(3)假设在选课系统中设计了以下类:
(a)界面
(b)控制对象
(c)课程
设计了以下角色:
(a)学生
(b)管理员
(c)学生和管理员的父类people
(d)数据库
这些类和角色之间的关系如下:
(a)角色学生和管理员从people派生
(b)学生、管理员在与系统交互时,都有一个界面与之对应。

(c)一个界面可能和课程相关(0..n)
(d)控制对象负责课程的处理,处理结果在界面上显示。

(e)控制对象完成对数据库的操作。

(f)界面请求控制对象的服务。

根据以上描述,绘制类关系图。

注意对象之间关联的类型。

三、实验过程与结果
四、实验小结和体会
类图的建立让我明白画类图之前一定要分析类,类与类之间的关系,确定属性以及需要
进行的操作,只有条理清晰地分析好,才能开始绘制,否则就会一直不断的调整。

实验5-3 交互图设计
一、实验目的
掌握交互图(序列图和协作图)绘制的基本方法和技巧,学会使用交互图描述用例实现的方法,掌握系统动态特性建模的技巧。

二、实验内容与要求
本实验以选择系统中的选课用例为例,来学习交互图的设计和实现。

为了时问题更简单一些,不考虑学生的登陆。

假设学生已经成功登陆系统,选择的事件可以简化如下:
选课事件:
(1)入选课主界面。

(2)生点击选课。

(3)系统显示所有课程信息。

(4)学生选择课程。

(5)系统验证课程是否可选。

A1 不可选。

(6)系统提示课程选择成功,提示学生交费。

(7)用例结束。

错误事件:
A1: 课程不可选。

(2)统提示课程不可选原因。

(3)生重新选课。

(4)重新验证直到成功。

(5)转选课事件第6步。

创建上述选课用例的交互图(序列图)。

同时根据实验5-1的描述创建添加课程、修改课程和删除课程的序列图以及选择课程的协作图。

三、实验过程与结果
学生选课序列图
添加,删除,修改课程序列图
选课系统协作图
四、实验小结和体会
通过设计协作图和序列图让我思路更加的清晰明了,时序图还有一条生命线,交互的对象沿着x轴依次分布,对象发送和接收信息沿着y轴分布,十分清晰的显示随时间推移的轨迹
实验5-4 状态图设计
一、实验目的
掌握状态图绘制的基本方法,理解状态图中各个要素的含义及表达。

二、实验内容与要求
(1)考察课程类(对象)的状态变化过程。

课程对象被创建,添加到数据库中。

管理员可以删除、修改课程信息,在某个学期,开设改课程,如果选修人数
超过制定人数,就不再允许学生选这门课。

学期结束,课程的状态终止。

(2)根据以上描述,绘制课程对象的状态图。

三、实验过程与结果
四、实验小结和体会
状态图可以清晰的描绘各个对象状态的变化
实验5-5 活动图设计
一、实验目的
掌握使用活动图描述各种复杂事件的逻辑。

二、实验内容与要求
在用例图中,我们对添加课程的用例事件做了详细分析(见实验5-2)。

由于管理员密码验证过程可以抽取出来,作为通用的流程,所以这里对添加课程事件稍作修改,将管理员输入课程信息作为起始的活动,内容如下:
(1)管理员输入信息。

(2)系统验证是否和已有课程冲突。

A2 有冲突
(3)系统添加新课程,提示课程添加成功。

(4)系统重新进入管理主界面,显示所有课程。

(5)用例结束。

根据以上分析,创建添加课程完整的活动图。

绘制活动图时注意各元素的表示方式。

三、实验过程与结果
四、实验小结和体会
活动图是状态图的另一种表现形式,但我感觉两者之间差不多。

通过百度了解到活动图着重表现一个活动到另一个活动的控制流,是内部处理驱动的流程。

一般一个结束之后,自
动转到下一个活动。

状态图强调一个状态到另一个状态的流程主要有外部事件的参与。

相关文档
最新文档