软件工程导论实验一(艾孜尔江)
- 格式:docx
- 大小:343.50 KB
- 文档页数:5
实验一结构化分析实验1实验目的:通过此实验了解结构化分析的特点和步骤,和结构化分析所采用的大体图形工具。
2.实验内容:假设你在一所职业高中工作,负责该校信息系统的建设和保护。
财务科长请你研究用学校拥有的pc机生成工资明细表和各类财务报表的可能性。
3.实验要求:1.问题概念:请在这个阶段描述你需要解决的问题。
包括用户面临的问题和预期的项目规模。
最后生成一份问题概念报告书。
2.可行性研究:在这个阶段产生处置工资事务的大致进程,画出高层逻辑模型,而且画出相应的数据流图,成立数据字典。
3.对此系统进行本钱效益分析。
4.实验步骤:问题概念报告书1.项目名称:工资支付2.问题描述:该校一直由会计人工计算工资并编制财务报表,随着学校规模扩大工作量也愈来愈大。
目前每一个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且本钱高。
此后学校规模将进一步扩大,人工计算工资的本钱还会进一步提高。
3.项目目标:1)研究开发费用较低的新工资支付系统的可能性。
4项目规模:1)开发本钱应该不超过万元5.初步假想:1)用学校自己的计算机系统生成工资明细表和财务报表6.可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。
这个研究的本钱不超过4000元。
可行性研究:1.处置工资事务的大致进程:1)每一个月月末教师把他们当月实际讲课时数记录在课时表上,由各系汇总后交给财务科,职工把他们当月完成承包任务的情况记录在任务表上,汇总后交给财务科。
2)两名会计按照这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。
然后,把记有每名教职工工资总额的工资表报送银行。
3)由银行把钱打到每名教职工的工资存折上,同时把工资明细表发给每名教职工。
2高层逻辑模型:.数据流图:数据字典:1)名字:讲课情况记录表别名:描述:记录每一个教师的当月完成的课时及任务。
概念:讲课情况记录表=教职工编号+姓名+职务+职称+大体工资+生活补助+书报费+交通费+洗理费位置:输出到打印机2)名字:教职工编号别名:描述:唯一的标识一个教职工概念:教职工编号=8{字符}8位置:讲课情况记录表3)名字:每一个人当月的实发工资数别名:描述:记录每一个教师当月应发的工资数概念:每一个人当月的实发工资数=课时费+职位津贴-个人所得税-住房公积金-保险费位置:工资明细表4)名字:工资明细表别名:描述:记录每一个教职工每一个月应得的和应扣除的费用概念:工资明细表=每一个人当月的实发工资数+课时费+职位津贴+个人所得税+住房公积金+保险费位置:输出到打印机本钱效益分析:1.低本钱系统:解决方案:把每一个月发一次工资改成每两个月发一次工资,则人工计算工资的本钱大约可减少一半,即每一年可节省万元。
.《软件工程导论》实验报告学生姓名:学号:班级:指导老师:专业:实验日期:.白盒测试一、实验目的通过简单程序白盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。
二、实验内容:1、被测试程序功能:求解系数为整数的方程ax2+bx+c=02、程序定义:键盘输入 3 个数字 a,b ,c,求解方程 ax2 +bx+c=03、测试环境: Windows8.1 、Eclipse4、说明:本次测试采用插桩测试法,由于程序比较简单,手动输入测试用例。
四、实验步骤1、程序流程图开始输入 a, b, ca=0 Y Y Y无穷多解b=0 C=0NN NX= 无解N无解b2-4ac>=0.YX1=x2=结束2、代码:import java.util.Scanner;public class test {public static void main(String[]args ) {Scanner sc= new Scanner(System.in );System. out .println( "请输入 3个整数 a,b,c:" );String as;String bs ;String cs;int a=0;int b =0;int c=0;double x, x1 , x2 ;as= sc.nextLine();bs = sc.nextLine();cs= sc.nextLine();try {a=Integer.parseInt (as );b =Integer.parseInt (bs );c=Integer.parseInt (cs);}catch (Exception e){System. out .println( " 输入错误 ");System. exit (0);}if (a == 0){if (b == 0){if ( c == 0)System. out .println(" 无穷多解 " );elseSystem. out .println(" 无解 " );}else{x = -( c / b );System. out .println( "x=" + x);}}else{double h = b * b - 4 * a*c;if (h<0)System. out .println(" 无解 " );else{x1 = (- b + Math. sqrt (h )) / (2 * a);x2 = (- b - Math. sqrt (h )) / (2 * a); System. out .println( "x1=" + x1 + "\tx2="+ x2 );}}}}3、流图:.4、程序基本路径:(1) 1 2 3 4 5 11 预期输出:无穷多解(2) 1 2 3 4 6 11 预期输出:无解(3) 1 2 3 7 11 预期输出: x=(4) 1 2 8 9 11 预期输出: x1= x2=(5) 1 2 3 10 11 预期输出:无解5、测试实验用例:路径覆盖编号测试用例覆盖路径对应输出1a=0 ,b=0 , 1 2 3 4 5 11无穷多解c=02 a=0 ,b=0 ,c=1 1 234 6 11 无解3 a=0 ,b=1 ,c=1 1 2 3 7 11 x=-14 a=1 ,b=2 ,c=1 1 2 8 9 11 x1=-1x2=-15 a=1 ,b=1 ,c=1 1 2 3 10 11 无解黑盒测试一、实验目的黑盒测试是常用的软件测试的方法,用这种方法测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构和内部特性,测试者只知道该程序的输入和输出之间的关系或程序的功能的情况下,依靠能反应这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结构的正确性。
软件工程导论实验报告一、实验题目:学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统、招聘考试成绩管理系统二、实验目标通过独立完成项目开发,加深对软件开发分析过程的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。
实验一实验要求:①.在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求,并建立系统的分析模型。
②.对系统进行需求分析,掌握ER图、DFD、DD的设计与编写③.熟悉Visio环境和基本操作,制作一个简单的系统流程图和数据流图、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。
④.撰写需求分析规格说明书用户需求分析作为图书管理系统,其主要的需求人员是借阅者,借阅者对其的要求可以大体概括如下:1)能按各种方式,比如书名、编号、作者等查询图书馆的藏书情况;2)能熟悉使用图书管理系统;3)能方便地借阅图书、续借图书、归还图书;4)能查询自己的基本资料、借阅图书情况;5)能方便图书管理员对图书的录入登记、注销;6)能方便对新生的登记或注销已经毕业学生的信息;7)能及时发布一些学院学生借阅图书超期情况、馆内藏书情况等。
功能说明1)、读者管理系统(1)未注册者可以进入注册系统进行注册;(2)已注册借阅者可按姓名、编号或身份证号登陆进入借阅者检索系统查询借阅者情况;(3)、已注册借阅者可按书名、出版社或作者对图书信息进行检索查询或提出预约请求;2)、图书管理员管理系统(1)图书管理员通过图书管理员身份认证进入图书管理员管理系统;(2)读者可借阅在库图书;(3)在规定期限内借阅者归还借阅图书;(4)读者在不违规情况下可继续借阅已借阅图书;(5)读者可以预约图书。
3)、系统管理员管理系统(1)系统管理员通过系统管理员身份认证进入系统管理员管理系统;(2)系统管理员可以对图书进行图书管理(如:查询、删除、修改图书资料或图书分类查询修改、删除管理);(3)系统管理员可以对借阅者进行学生管理(如:查询、删除、修改借阅者信息或借阅者类别修改、删除管理,查询浏览借阅者详细资料,包括借阅次数,登陆次数,最后登陆时间);4)、罚款管理系统(1)罚款管理员通过罚款管理员身份认证进入罚款管理系统;(2)罚款处理可以读取借阅信息表再生成超时罚款信息表,通过超时罚款信息表可以生成罚款单给罚款管理员;(3)图书管理员告知罚款系统图书超时未还,经罚款管理员鉴定后,对图书进行注销处理且罚款管理员对借阅者进行罚款处理。
目录第一章可行性分析报告 (7)1.1 引言 (7)1.2 可行性研究的前提 (8)1.3技术可行性分析 (9)1.3.1系统简要描述 (9)1.3.2处理流程和数据流程 (9)1.4操作可行性分析 (10)1.5经济可行性分析 (10)1.5.1支出 (10)1.5.2效益 (11)1.5.3收益/投资比 (11)1.5.4投资回收周期 (11)1.5.5敏感性分析 (12)1.6法律可行性 (12)1.7结论 (12)第二章需求分析报告 (12)2.1引言 (12)2.1.1 编写目的 (12)2.1.3 定义 (12)2.1.4 参考资料 (12)2.2任务概述 (14)2.2.1 目标 (14)2.2.2 假定和约束 (12)2.2.3 人力、资金、时间的约束 (12)2.2.4技术发展规律的约束 (14)2.3需求规定 (8)2.3.1对功能的规定 (8)2.3.2对性能的规定 (8)2.3.3精度 (8)2.3.4时间特性要求 (16)2.3.5旅客信息 (16)2.4数据描述 (17)2.4.1数据特征 (17)2.4.2系统数据流图 (17)2.5 运行环境规定 (11)2.5.1服务器端子系统运行要求 (11)2.5.2客户端子系统运行要求 (11)第三章概要设计 (19)3.1引言 (19)3.1.1项目背景 (19)3.1.1定义 (19)3.2任务概述 (21)3.2.1目标 (19)3.2.2运行环境 (19)3.2.3需求概述 (19)3.3总体设计 (21)3.3.1处理流程 (21)3.3.2客户机程序流程 (21)3.3.3总体结构设计 (21)3.3.4功能分配 (21)3.4 接口设计 (21)3.4.1外部接口 (25)3.4.2软件接口 (25)3.4.3硬件接口 (25)3.4.4内部接口 (25)3.5 数据结构设计 (30)3.5.1 数据库数据结构设计 (30)3.5.2物理结构设计 (30)3.5.3 数据结构与程序关系 (30)3.6 运行设计 (30)3.6.2 运行控制 (30)3.6.3 运行时间 (30)3.7出错处理设计 (30)3.7.1出错输出信息 (30)3.7.2出错处理对策 (30)3.8安全保密设计 (30)3.9维护设计 (31)第四章详细设计 (31)4.1引言 (31)4.1.1编写目的 (31)4.1.2项目背景 (31)4.1.3文中定义和缩写 (20)4.1.4参考资料 (20)4.2总体设计 (20)4.2.1需求概述 (20)4.3程序描述 (21)4.4代码设计 (21)4.5测试项目说明 (36)4.5.1测试项目名称及测试内容 (36)4.5.2测试用例 (36)第五章基于面向对象技术的机票预订系统开发 (44)5.1引言 (36)5.2需求分析 (36)5.3UML系统建模 (36)5.3.1机票预订系统的用例分析 (36)5.3.2机票预订系统的域类分析 (36)5.3.3机票预订系统的功能设计 (36)5.4数据库分析 (36)5.4.1E-R图分析 (36)5.4.2创建数据库 (36)5.5界面设计 (36)5.6代码分析和实现 (36)5.7小结 (36)第六章测试 (36)6.1测试计划 (36)6.1.1 编写目的 (44)6.1.2任务概述 (44)6.1.3 计划 (46)6.1.4测试项目说明 (47)6.1.5 条件 (48)6.2 测试分析报告 (30)6.2.1编写目的 (30)6.2.2 测试计划执行情况 (30)6.2.3软件需求测试结论 (31)6.2.4评价 (31)6.2.5建议 (31)6.2.6 测试结论 (31)第七章程序维护手册 (31)7.1 引言 (31)7.2 系统说明 (33)7.2.1 系统用途 (33)7.2.2安全保密 (33)7.2.3总体说明 (33)7.3 维护过程 (33)7.3.1 规则 (33)7.3.2 验证过程 (34)7.3.3 出错及纠正方法 (34)7.3.4 专门维护过程 (34)7.3.5 程序清单及流程图 (34)第八章总结性报告 (35)8.1 过程 (35)8.2 总结 (35)第一章可行性分析报告1.1 引言航空公司为方便旅客乘机,需要开发一个新机票预定系统。
大学实验报告2018年3月26日课程名称:软件工程导论实验名称:实验1熟悉常用的CASE工具班级及学号:姓名:同组人:签名:指导教师:指导教师评定:一、实验环境Win7、VISIO软件。
二、实验目的1)熟悉工具。
2)使用VISIO画出E-R图。
三、实验内容3.1利用Visio绘制业务流程图。
1、制作业务流程图图元业务流程图5种基本图元(主体、单证、业务处理、数据存储和业务流程流转方向)可直接利用Visio提供的基本图形对象绘制,也可利用多个对象组合形成。
可选择“文件”->“形状”->“框图”->“基本形状”绘制主体(圆形)、单证(文档)和业务处理(矩形);选择“文件”->“形状”->“软件”->“Gane-Sarson”选项,打开Gane-Sarson图形对象集绘制数据存储;选择“文件”->“形状”->“其他Visio方案”->“连接线”选项,选择“有向线1”,选择“无线端”绘制业务处理。
2.绘制业务流程图双击图元添加文字,了解绘制业务流程图的方法。
3.2利用Visio绘制数据流图。
1.制作数据流图图元数据流图4种基本图元(外部项、处理功能、数据流和数据存储)中,外部项也需要利用“直线”和“正方形”对象组合形成,其他图元类似前面方法绘制。
2.绘制完整的数据流图。
3.3利用Visio绘制概要设计模型。
可选择“文件”->“形状”->“软件”->“窗口和对话框”绘制主体;选择“文件”->“形状”->“软件”->“公共控件”选项绘制按钮文本框;四、实验结果E-R图。
《软件工程导论》实验报告学院:计算机科学与技术学院专业班级:指导教师:项目成员:项目课题:学校内部工资管理系统时间:2011年5月目录小组情况 (1)一、可行性分析报告 (2)1.1 引言 (2)1.1.1 编写目的 (2)1.1.2 背景 (2)1.2 可行性分析的前提 (3)1.2.1 要求 (3)1.2.2 开发目标 (3)1.2.3 条件、假定和限制 (3)1.2.4 可行性研究的方法 (4)1.3 技术可行性 (4)1.3.1 简要描述 (4)1.3.2 与现有系统的优越性比较 (4)1.4 经济可行性 (5)1.4.1 成本 (5)1.4.2 效益 (5)1.5 社会因素可行性分析 (6)1.5.1 法律方面的可行性 (6)1.5.2 操作可行性 (6)1.6 结论意见 (6)二、软件需求规格说明书 (7)2.1 背景材料 (7)2.2 功能需求分析 (7)2.2.1 管理员用户设置 (7)2.2.2 普通用户创建 (8)2.2.3 用户登录 (8)2.2.4 远程信息接收与传递 (8)2.2.5 信息提醒 (8)2.2.6 职工编号的判断 (9)2.2.7 职工工资的计算 (9)2.3 性能需求分析 (10)2.3.1 运行环境 (10)2.3.2 精度 (10)2.3.3 响应时间 (10)2.3.4 内存占用 (11)2.3.5 安全与更新 (11)2.3.6 故障处理 (11)三、数据流程图 (12)四、功能分析图 (13)4.1 员工工资标准模块 (13)4.2 工资统计模块 (13)4.3 财务处理模块 (13)4.4 职工工资查询模块 (13)4.5 登录用户管理模块 (14)4.6 人事管理模块 (14)4.7 员工出勤管理模块 (14)五、数据字典 (15)六、概要设计 (16)七、详细设计说明书 (17)7.1 编写目的 (17)7.2 背景 (17)7.3 系统的结构 (17)7.4 程序流程图 (18)7.4.1 用户注册 (18)7.4.2 用户登录 (20)7.4.3 人事管理 (21)7.4.4 员工工资查询 (21)7.4.5 员工出勤管理 (21)7.4.6 财务部管理 (22)7.5 程序部分代码 (23)7.5.1 用户注册 (23)7.5.2 用户登陆 (29)7.5.3 人事部管理 (33)7.5.4 财务部管理 (36)八、测试报告 (39)8.1 单元测试 (39)8.1.1 用户注册登陆测试 (39)8.1.2 人事部测试 (41)8.1.3 财务部测试 (44)8.2 黑盒测试 (45)8.2.1 测试用例表 (46)8.3 测试总结 (48)九、参考资料 (49)小组情况项目题目:学校内部工资管理系统项目成员:肖远昊、闫培、马瑞良、王高明项目负责人:王高明任务分配表一、可行性分析报告1.1 引言1.1.1 编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。
软件工程导论实验报告软件工程导论实验报告导论软件工程是一门涉及软件开发、测试和维护的学科,它的目标是提高软件开发的效率和质量。
为了更好地理解软件工程的概念和实践,我们进行了一系列的实验。
本报告将介绍我们在软件工程导论实验中所学到的知识和经验。
实验一:需求分析在软件开发过程中,需求分析是至关重要的一步。
我们的第一个实验是对一个虚拟的在线购物系统进行需求分析。
通过与团队成员的合作,我们学习了如何收集用户需求、分析需求的重要性和优先级,并将其转化为软件功能和特性。
实验二:软件设计软件设计是软件工程的核心环节之一。
在第二个实验中,我们学习了不同的软件设计模式和架构,如MVC(Model-View-Controller)和微服务架构。
通过实际操作,我们掌握了如何将需求转化为软件设计图,并理解了设计决策对软件开发的影响。
实验三:编码与测试编码和测试是软件开发的具体实施阶段。
在第三个实验中,我们使用了常见的编程语言和开发工具,如Java和Eclipse,来实现我们的软件设计。
同时,我们还学习了测试的重要性,并使用JUnit等测试框架进行单元测试和集成测试。
实验四:软件项目管理软件项目管理是确保软件开发项目按时、按质量完成的关键。
在第四个实验中,我们学习了项目管理的基本原理和方法,如项目计划、进度跟踪和风险管理。
通过实践,我们意识到合理的项目管理可以极大地提高团队的工作效率和项目的成功率。
实验五:软件质量保证软件质量保证是确保软件产品符合用户需求和质量标准的重要环节。
在最后一个实验中,我们学习了软件测试的不同方法和技术,如黑盒测试和白盒测试。
我们还了解了软件质量标准和认证,如ISO 9001和CMMI。
总结通过这一系列的实验,我们深入了解了软件工程的各个方面。
我们学会了如何分析用户需求、设计软件系统、实施编码和测试,并掌握了软件项目管理和质量保证的方法。
这些实验不仅提高了我们的理论知识,也培养了我们的团队合作和问题解决能力。
一、实验目的本次实验旨在通过实践操作,加深对软件工程基本概念、原理和方法的理解,掌握软件生命周期各个阶段的基本知识和技能。
通过实验,培养学生运用软件工程理论分析和解决实际问题的能力。
二、实验内容1. 软件生命周期概述- 软件生命周期:软件从提出需求、设计、开发、测试、部署到维护的整个过程。
- 软件生命周期模型:常见的软件生命周期模型包括瀑布模型、螺旋模型、敏捷开发模型等。
2. 需求分析- 需求分析:分析用户需求,明确软件功能、性能、接口等方面的要求。
- 需求分析方法:常用的需求分析方法包括结构化分析、面向对象分析等。
- 实验任务:分析某学生信息管理系统的需求,撰写需求分析报告。
3. 软件设计- 软件设计:根据需求分析结果,设计软件的架构、模块、接口等。
- 设计方法:常用的设计方法包括面向对象设计、结构化设计等。
- 实验任务:设计某学生信息管理系统的架构和模块,绘制类图、序列图等。
4. 编码- 编码:根据设计文档,编写软件代码。
- 编程语言:选择合适的编程语言进行编码,如Java、C++、Python等。
- 实验任务:根据设计文档,使用Java语言实现某学生信息管理系统的主要功能。
5. 测试- 测试:对软件进行测试,验证其功能、性能、可靠性等方面是否符合要求。
- 测试方法:常用的测试方法包括单元测试、集成测试、系统测试等。
- 实验任务:对某学生信息管理系统进行测试,编写测试用例,验证其功能。
三、实验过程1. 需求分析- 分析某学生信息管理系统的需求,包括学生基本信息、课程信息、成绩信息等。
- 撰写需求分析报告,明确系统功能、性能、接口等方面的要求。
2. 软件设计- 设计某学生信息管理系统的架构和模块,包括学生管理模块、课程管理模块、成绩管理模块等。
- 绘制类图、序列图等,展示系统模块之间的关系和功能。
3. 编码- 使用Java语言实现某学生信息管理系统的主要功能,包括学生信息的增删改查、课程信息的增删改查、成绩信息的增删改查等。
软件工程导论实验报告学院:班级姓名学号、2012年5月5日实验一::项目计划、分析和设计[ 实验日期] 2012年4月14日[ 实验目的]初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需求文档、设计文档。
[ 实验内容]根据周围的实际应用需求,自选一个小型的C语言应用项目,依据项目可行性研究的结果,进行需求分析和设计,编写简要的需求文档、设计文档。
[ 实验原理和步骤]当前的建模方法主要有传统的结构化分析、设计方法(SA/D)和面向对象分析、设计方法(OOA/D)两种,以下只对SA/D进行说明。
分析阶段:结构化分析(SA)是一种建模技术,它通过一定方法帮助开发人员定义系统需要什么功能,系统需要存储和使用哪些数据,以及为完成这些功能,系统需要什么样的输入和输出以及如何把这些功能结合在一起来完成任务。
结构化分析方法的实质是采用一组分层数据流图及相应的数据字典作为系统的模型,从总体来看是一种强烈依赖数据流图的自顶向下的建模方法。
由事件列表、数据流图、实体关系图、数据流定义、数据字典、结构化英语、状态转换图等最终构成系统的分析模型。
设计阶段:分总体设计和详细设计两阶段。
总体设计阶段的任务主要是确定系统由哪些模块组成,以及这些模块之间的相互关系;详细设计阶段的任务主要是设计每个模块的处理过程。
总体设计又称为概要设计或初步设计,它的基本目的就是回答‚概括地说,系统应该如何实现?‛这个问题。
总体设计通常由系统设计和结构设计两个阶段组成。
系统设计阶段确定一个合理的、具体的实现方案;结构设计阶段确定软件的结构,即确定系统由哪些模块组成,以及这些模块之间的相互关系。
【方案+体系结构】常用的结构化设计(SD)方法有面向数据流分析(DFA)的设计方法和面向数据的设计方法【如Jackson方法(JSD)和逻辑构造程序方法(LCP)(一般用于详细设计)】。
DFA方法以数据流图为基础,它定义了把DFD(变换型数据流,事务型数据流及混合型)变换成软件结构图(SC)的不同映射方法。
《软件工程导论》实验报告学院:计算机科学与技术学院专业班级:软件1702指导教师:辛雨璇项目成员:张玉、秦飞虎、徐连成项目课题:学生签到系统时间:2019年3月目录《软件工程导论》 (I)小组情况 (1)一、可行性分析报告 (2)1.1 引言 (2)1.2 可行性分析的前提 (3)1.3 技术可行性 (4)1.4 经济可行性 (4)1.5 社会因素可行性分析 (5)1.6 结论意见 (5)二、软件需求规格说明书 (6)2.1 背景材料 (6)2.2 功能需求分析 (6)2.4 数据流图 (9)2.5 数据字典 (11)2.6 加工说明 (17)2.7 E-R图 (22)三、总体设计-结构图 sc图 (23)四、详细设计说明书 (23)4.1 编写目的 (23)4.2 背景 (23)4.3 系统的结构 (24)4.4 程序流程图 (24)4.5 程序部分代码 (27)五、测试报告 (36)5.1 单元测试 (36)5.2 黑盒测试 (42)5.3 测试总结 (44)小组情况项目题目:学生签到系统项目成员:张玉、秦飞虎、徐连成项目负责人:张玉任务分配表一、可行性分析报告1.1 引言1.1.1 编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。
经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发风险及其所带来的经济效益。
本报告经审核后,交项目负责人审查。
1.1.2 背景随着教育事业的飞速发展,我国教育水平已经跃上了一个更高的平台:普及九年义务教育,本科生,硕士研究生的大量扩招,各高等院校及地州院校的新建与升级,越来越多的学子走进了大学的殿堂,这意味着学生的考勤签到管理信息越来越复杂、繁重,传统的签到系统已无法承担当前的信息量,快速、高效的完成学生签到考勤系统的任务,无法减轻签到考勤管理人员的工作量与工作压力。
实验一大学生选课系统的数据流图一.实验目的了解数据流图的功能和画法。
二.实验要求实验时间:2学时,对给定的大学生选课系统的需求描述,分析得到其数据流图。
三.实验内容1.理解需求;2.画出数据流图;3.选定其中一个对象构建数据字典。
四.实验项目需求:某个中等规模的大学为全日制的学生提供大量本科生学位,这个大学的教学机构由学院组成,每个学院包含几个专业方向。
每个学院管理一种学位,每种学位都有若干必修课和若干选修课。
每门课程都处于一个给定的级别,并且有一个学分值。
同一门课程可以是若干学位的一部分,一个学位还含有其他学院提供的课程。
每种学位都要给定完成学位所要求的总学分值。
每个学期末大学的教授就要决定下个学期计划开设的课程。
所以教授决定开设的课程的汇总,形成下个学期将要开设的课程计划。
课程的名称,编号,学分,先决条件等课程信息全部来自课程库系统。
该课程库系统是该大学生已有的系统,不列为本次项目的开发内容。
令该大学自豪的是,其给予了学生在选课时的自主权。
选课的灵活性使得大学课程注册系统变得复杂。
学生可以组合课程计划表所提供的课程,形成他们的学习计划(注册课程),一方面适合他们的客人需求,另一方面完成了这些课程他们就能得到他们所注册的学位。
个人选课的自主权不应该与学位管理的规则相互矛盾,例如,学生必须学习过某门课程的先修课程,才能选修该门课程。
学生对课程的选择可能受到时间冲突,最大的班级人数等条件限制。
在每个学期的开始,学生们会得到一份本学期将要开设的课程计划表。
每门课程包含的信息有课程名称,课程编号,开课的教授,学院,选择该课程的先决条件,课程学分,已选学生人数等,可以帮助学生有目的地选择课程。
新系统允许学生在将要来临的学期中选择四门主选课程。
如果一门主选课程名额满员或被取消,每个学生有重选的机会。
因此,新系统也允许学生选择两门备选课程。
每门课程最多有10名,最少3名学生选择才能开课。
少于3个人报名的课程将被取消。
实验1软件工程概念与相关工具1.1 软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。
软件开发方法就是开发软件的规范化方法。
软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。
软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。
从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment)和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。
在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。
1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。
2)通过Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。
1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。
需要准备一台带有浏览器、能够访问因特网的计算机。
1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
软件工程导论实验报告摘要本实验主要是通过学习软件工程导论中的基本概念和方法,以及软件项目管理的过程和方法,来实现一个简单的面向对象程序。
本报告主要介绍了本实验的背景和意义、实验过程和结果、以及实验的评估和总结。
背景和意义软件工程作为计算机科学的一个重要分支,已经成为了当今信息化时代的支撑和基础。
因此,对于软件工程的学习和实践尤其重要。
本实验作为软件工程导论的一部分,旨在通过实践操作来加深对软件工程基础知识的理解和应用,并在操作中锻炼编程和协作能力。
实验过程和结果本实验分为三个主要的步骤:需求分析、设计和编码、以及测试和维护。
在需求分析阶段,我们先明确了该程序的功能和性能,以及其面向的用户和运行环境。
在设计和编码阶段,我们采用UML模型设计方法,完成了类图、用例图和时序图等建模工作,并在此基础上进行了程序的编写和调试。
在测试和维护阶段,我们进行了功能和性能测试,并根据测试结果对程序进行了调整和优化。
经过以上的实验过程,我们达到了以下的实验结果:1.程序实现了预期的功能和性能,基本满足了用户的需求。
2.程序的设计和编码遵循了UML建模的规范和约束,易于理解和维护。
3.测试结果表明,程序的稳定性和可靠性较高,在运行过程中没有出现过重大的错误或问题。
评估和总结本实验是一个比较成功的实验,对于我们的学习和实践都具有一定的帮助和意义。
通过这个实验,我们掌握了一些基本的软件工程知识和方法,比如需求分析、UML建模、编码和测试等,并将其应用到了实际的软件开发中。
同时,我们还学习到了一些编程和协作的技巧和方法。
然而,本实验还存在一些不足之处,比如时间的紧迫性、人员的不足和指导的不够到位等。
这些问题对于实验结果的影响并不太大,但对于我们自身的学习和提高还是需要加以改进和完善。
总之,本实验是一个有益而有意义的实践活动,相信在今后的学习和实践中,我们将会更好地运用所学知识和方法,为软件工程的发展和应用做出更大的贡献。
《软件工程导论》实验指导书实验类别:实验课程名称:软件工程导论实验室名称:实验课程编号:总学时:48 学分:3适用专业:软件工程先修课程:程序设计语言实验在教学培养计划中地位、作用;《软件工程导论》是理论与实践并重的课程。
这门实验课为配合软件工程的课堂教学而编写。
通过本实验课程培养学生的实际分析问题、编程和动手能力,最终使学生系统的掌握该门课程的主要内容,更好的完成教学任务。
实验一面向对象分析-用例图的绘制(2学时)1、实验目的:通过实验,熟悉并掌握面向对象分析的一种工具Rational Rose 2003,掌握面向对象软件开发中用例图的绘制。
2、实验内容:设计和实现某学校的网上选课系统的用例图。
3、实验要求:(1)给出本系统的功能描述:某学校的网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行修改和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费,并将这些操作结果存入数据库中。
(2)对本系统的用例、活动者进行分析:本系统拟使用Java语言通过三层模型实现:数据核心层、业务逻辑层和接入层。
数据核心层包括对于数据库的操作;业务逻辑层作为中间层对用户输入进行逻辑处理,再映射到相应的数据层操作;接入层包括用户界面、系统登录界面、管理界面、用户选课界面等。
本系统涉及的用户包括管理员和学生,他们是用例图中的活动者,他们的主要特征相似,都具有学号和姓名等信息,可抽象出“基”活动者people,而registrar和student则从people继承诞生,数据库管理系统是另外一个活动者。
(3)写出系统中出现的一些事件流,如添加课程事件流、删除课程事件流、修改课程事件流、选课事件流。
下面是系统中出现的一些事件流。
添加课程事件流:a)管理员选择进入管理界面,用例开始。
b)系统提示输入管理员密码。
软件工程导论实验指导书软件工程实验指导书实验内容实验一:建立用例图、类图实验二:建立动态图实验三:创建组件图、部署图实验四:创建数据流图实验五:建立结构图、程序流程图实验一(1)创建用例框图实验目的:1、掌控创建系统用例框图。
2、掌握对系统初始需求进行分析,初步了解和分析系统用户和系统提供的功能,确定角色和用例;3、掌控分析系统用户和系统功能之间的关系,确认角色和用例的关系;?实验建议:1、使用rose建立系统用例框图;2、使用rose建立系统角色;3、使用rose建立系统用例;4、采用rose创建角色与用例的关系;?trained科学知识:1创建用例框图:右击rose浏览器中的纸盒usecaseview;选择弹出菜单中的new菜单,单击usecasediagram;?选择新框图后,输入新框图名;?双击浏览器中的新框图将其打开。
2增加用例:挑选工具栏中的usercase按钮或挑选tools->create->usercase,单击usercase框图中任一位置并放上新用例;右击浏览器中usercaseview,挑选new->usercase,从浏览器中把新增加的用例拖动到用例框图中。
3减少角色:选择工具栏中的actor按钮或选择tools->create->actor,单击usercase框图中任一边线并放进崭新角色;或者右击浏览器中usercaseview,选择new->actor,从浏览器中把新减少的角色拖曳至用例框图中。
?用例与角色规范:双击用例(角色)或则右击用例(角色),从弹出菜单中选择openspecification;在name字段中输入用例(角色)名称;在stereotype字段中输出用例(角色)版型;?在abstract复选框中设置抽象化用例(角色);?在documentation字段输出用例(角色)叙述;?在rank字段中输出用例优先级;?在multiplic字段中设置角色基数;4采用关系:选择单向关联按钮,将鼠标从角色拖动到用例,或从用例到角色;?选择依赖按钮,将鼠标从用例拖动到用例,双击用例关系,设置关系版型,在stereotype字段中输出include或者extend,设置用例的采用关系或拓展关系;选择继承按钮,将鼠标从角色拖动到角色,设置角色的一般化关系;5用例框图工具栏:文本注解注解与项目连线包用基准角色单向关联倚赖承继涌入实验内容:1、起始市场需求:这就是一个图书馆信息管理系统(1)图书管理员是图书馆员工。