1 / 39
文档名称:

软件工程基础实验.pdf

格式:pdf   大小:3,059KB   页数:39页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程基础实验.pdf

上传人:青山代下 2024/7/2 文件大小:2.99 MB

下载得到文件列表

软件工程基础实验.pdf

相关文档

文档介绍

文档介绍:该【软件工程基础实验 】是由【青山代下】上传分享,文档一共【39】页,该文档可以免费在线阅读,需要了解更多关于【软件工程基础实验 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..实验一可行性研究与项目计划一、实验室名称综合二、实验项目名称图书管理系统三、,系统流程图,线性时间图来描绘系统开发流程和进度;。四、实验内容图书管管理系统更便于对图书进行分类和管理,对借阅者进行时间限定,使得借书的效益更高更安全。提高工作效益,便于操作,能有效地对数据进行更新、查询,并能在一定程度上实现了自动化。图书管管理系统的主要功能为:书目管理、借阅证管理、借还图书、查询、缴费。书目管理主要是针对管理员身份而言的(比如新增书目,删除书目等等);借阅证管理分为五部分:注册、补发、挂失、暂停、注销;借还图书:借书、还书;查询:1/39:..图书查询、借阅时间缴费主要是计算超期罚款并交纳费用。图书管管理系统的系统流程图如图1所示。借阅证学生计算机终端缴费学生缴费表审查借阅证借还图书选择功能并进入系统查询借阅图书表学生借阅证表借阅证管理图1系统流程图试对系统进行可行性研究,用Visio绘制图书管管理系统的系统流程图,同时制定系统的开发计划,用Gantt图和时间线图描述进度计划安排。五、实验方案分析与设计运用专业的方法整理分析图书管理流程,并对功能进行整合。六、实验器材(设备,元器件)七、,整合用户权限和操作;;2/39:..,拟定开发流程;;。八、实验数据记录结果分析系统流程图:甘特图:3/39:..线性时间图:九、实验结论成功绘制出图书管理系统的系统流程图,甘特图,线性时间图。十、实验总结对系统流程的理解直接决定业务逻辑的正确与否,错误的系统流程将导致系统开发逻辑设计不合理。甘特图和线性时间图能直观的展示出系统开发的进度,有利于监督项目开发,调整开发进度。4/39:..实验二需求分析一、实验室名称综合二、试验项目名称需求分析三、;;;。四、实验内容1、请从下面的描述中找出绘制数据流图的四种成分并用Visio绘制数据流图。某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文5/39:..件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。2、有一简单选课系统,用文字描述如下,试用IDEF1X图和UML类图描述该系统的信息模型,并用Visio绘制该IDEF1X图和UML类图。1)基本描述:在该系统中,有学院、教师、课程、学生等实体,他们的属性分别是:学院:学院编号、学院名称、地址、联系电话、院长等基本属性;教师:教师编号、姓名、性别、年龄、职称、所在学院等属性;课程:课程编号、课程名称、课程性质(必修/选修)、学分、开课学院等属性;学生:学号、姓名、性别、年龄、入学时间、学院等属性。教学班实体:教学班号、上课教师、课程、上课学期、上课时间、上课周次。2)功能需求如下:(1)能完成基本信息的维护:即各实体的基本信息的增、删、6/39:..改、查。(2)排课:为教师安排一学期所上的课程。一位教师在一学期可以上一门课或多门课,也可以不上课;一门课可以有多个教师上,但是不同的教师上的课应该属于不同的教学班。(3)学生选课:学生根据教学要求进行选课。在学生选课之前检查该学生是否有选课资格(比如是否欠费、前期课程是否修完并通过);一个学生可以选多门课、一门课可以被多个学生选修,但是一个学生不能选择同一门课的不同教学班;如果学生选了一门课的某个教学班后再选该门课的其他教学班系统应做出出错提示;统计已选教学班的学生人数;一个教学班的选课名额有限;学生选课后,如果发现选课不合理可以退选、重选;选课结束后应提供打印课程表的功能。3、请用Visio或RationalRose绘制如图2所示的用例图。五、试验方案分析与设计整理分析各个功能需求。实验器材(设备,元器件)六、7/39:..七、,整合用户需求;;;;。八、实验数据记录结果分析数据流图:IDEF1X图:8/39:..UML类图:9/39:../39:..实验结论成功绘制出数据流图,绘制IDEF1X图,绘制UML类图,绘制用例图。十、实验总结对visio不熟悉导致进度特别慢,以后应该加强对工具使用的练****要熟练使用常用工具。绘制UML类图的时候要明确各个类之间的关系。:..:结构化数据流设计技术、面向对象设计技术;:Visio工具绘制软件结构图;:Rose或Visio工具绘制UML模型图。、试针对实验二的培训中心管理系统,试用结构化设计方法对其进行设计,并用Visio绘制其对应的软件结构图。(选做)2、某室内保温系统的描述如下:如果主开关置于“加热”状态,保温系统的控制器负责开关锅炉,监视锅炉系统的燃油流量和燃烧状态,进而调节进入房间的热流量。当室内温度降至(Tr-2)度以下,控制器启动锅炉。这里Tr是用户设定的理想室温。锅炉启动过程如下:(1)控制器向锅炉的马达发送信号;(2)控制器监视马达速度。马达达到正常操作速度时,启动点火并打开油阀;(3)控制器监视水温,一旦水温达到预定值,发信号打开水流循环阀。热水开始在室内循环。(4)如果发生异常情况,燃油流量指示器和光感器向控制器发信号。此时控制器发信号关闭系统。/39:..5)一旦室内温度达到(Tr-2)度,控制器首先关闭油阀,延迟5秒钟后关闭锅炉马达。系统须满足以下限制:(1)锅炉停机后重启必须延迟5秒钟;(2)在主开关关闭或油阀关闭5秒钟内应指示锅炉停机。试据此对系统进行设计,采用RationalRose绘制控制器的状态图,同时用顺序图描述锅炉启动过程。,对系统进行设计。(设备,元器件)(1)建立软件结构图的基本步骤:;;;。(2)Rose建立UML图的基本步骤:,建立新模型,保存模型;。:/39:..。,自学软件使用技巧的能力差,以后应该加强对工具使用的练****要熟练使用常用/39:..类图的时候要明确各个类之间的关系。:系统实现的有关技术及其相关工具。、试对图3所示的课程管理对象类图,采用Java在Eclipse下编码实现,并用JUnit框架对某Java类进行测试。/39:..图3类图2、针对某网站,采用SilkTest和SilkPerformer分别进行功能测试和性能测试。(选做):16/39:..(设备,元器件):[Window]菜单下的[Preferences],选择Java支:?检测已安装的JRE;?设置工作台选项;?设置新建项目选项;?设置Java编辑器。[File]->[New]->[Project],从弹出的窗口中选[Java]->[JavaProject],单击下一步;,并确定项目保存的文件目录,单击完成即可,在Java***图中的“资源管理器”中便可看到创建的项目。;“创建Java类”按钮(带有一个C标记);,并设置有关属性(如选中publicstaticvoidmain(String[]args)),单击完成,则Java编辑窗口会自动打开。;,单击ClasspathVariables;17/39:..,,单击确定即可。;;;;;;;;lassUserextendsJFrame{privateJLabeluse,password;privateJTextFieldk1;//用户名输入框privateJPasswordFieldk2;//密码输入框privateJButtonb1,b2;//登录窗口publicUser(JFramef){系统登录18/39:..Containerc=getContentPane();(newFlowLayout());((newk1=newJTextField(12);k2=newJPasswordField(12);登录退出//设置登录方法//BHandlerb=newBHandler();//EXITd=newEXIT();//(b);//(d);//(use);(k1);(password);(k2);19/39:..(b1);(b2);setBounds(600,300,250,150);setVisible(true);setResizable(false);setDefaultCloseOperation();}//主函数publicstaticvoidmain(String[]args){Userf1=newUser(newJFrame());}}效果图::.*;.*;.*;20/39:..lassMenuextendsJFrameimplementsActionListener{Addstu增加学生界面;Updatastu修改学生界面;Delstu删除学生界面;AddC增加课程界面;DelC删除课程界面;UpdateC修改课程界面;AddSC增加选课界面;DelSC删除选课界面;UpdateSC修改选课界面;Selstu学生查询界面;JPanelpCenter;CardLayoutcard=null;JLabellabel=null;JMenuBarmb=newJMenuBar();//菜单栏学生管理课程管理21/39:..选课管理查询管理JMenuItem学生查询查询信息系统退出publicMenu(){学生选课管理系统try{(());}不能设置外观//组合菜单addMenu1();addMenu2();addMenu3();22/39:..addMenu4();addJMenuBar();setJMenuBar(mb);();();//(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);23/39:..(this);card=newCardLayout();pCenter=newJPanel();(card);增加学生界面=newAddstu();修改学生界面=newUpdatastu();删除学生界面=newDelstu();增加课程界面=newAddC();删除课程界面=newDelC();修改课程界面=newUpdateC();增加选课界面=newAddSC();删除选课界面=newDelSC();修改选课界面=newUpdateSC();学生查询界面=newSelstu();欢迎界面增加学生界面增加学生界面);修改学生界面修改学生界面);删除学生界面删除学生界面);增加课程界面增加课程界面);删除课程界面删除课程界面);修改课程界面修改课程界面);增加选课界面增加选课界面);24/39:..删除选课界面删除选课界面);修改选课界面修改选课界面);学生查询界面学生查询界面);add(pCenter,);validate();setVisible(true);setBounds(400,150,400,280);setDefaultCloseOperation();addWindowListener(newWindowAdapter(){//关闭程序时的操作publicvoidwindowClosing(WindowEvente){(0);}});validate();}privatevoidaddJMenuBar(){(m1);(m2);(m3);(m4);(m5);}privatevoidaddMenu4(){(学生查询);(t);}privatevoidaddMenu3(){25/39:..(add3);(updata3);(delete3);(t);}privatevoidaddMenu2(){//(add2);(updata2);(delete2);(t);}privatevoidaddMenu1(){(add1);(updata1);(delete1);(t);}publicvoidactionPerformed(ActionEvente){Objectobj=();if(obj==m5){(0);}增加学生界面修改学生界面删除学生界面增加课程界面/39:..删除课程界面修改课程界面增加选课界面删除选课界面修改选课界面else{if(obj==学生查询学生查询界面}}}}}}}}}}}}publicstaticvoidmain(String[]args){newMenu();}}效果图:/39:..:/.*;.*;.*;.*;lassAddCextendsJPanelimplementsActionListener{JTextField课号,课名;JButton录入;publicAddC(){try{(());}catch(Exceptione){(不能设置外观+e);}/39:..课号=newJTextField(12);课名=newJTextField(12);录入=newJButton(录入);(this);Boxbox1=();//横放boxBoxbox2=();Boxbox3=();Boxbox4=();(newJLabel(课号));(课号);(newJLabel(课名));(课名);(录入);BoxboxH=();//(box1);(box2);(box3);(box4);(());JPanelmessPanel=newJPanel();(boxH);setLayout(newBorderLayout());/39:..add(messPanel,);validate();}效果图::/.*;.*;.*;.*;lassUpdateCextendsJPanelimplementsActionListener{Stringsave=null;JTextField课号1,课号,课名;JButton修改,查找;publicUpdateC(){try{(:..());}catch(Exceptione){(不能设置外观+e);}课号1=newJTextField(12);课号=newJTextField(12);课名=newJTextField(12);修改=newJButton(修改);查找=newJButton(查找);Boxbox1=();//横放boxBoxbox2=();Boxbox3=();Boxbox4=();Boxbox5=();(newJLabel(课号,));(课号);(newJLabel(课名,));(课名);(修改);(newJLabel(课号,));(课号1);(查找);(this);(this);/39:..BoxboxH=();//(box1);(box2);(box3);(box4);(());JPanelpicPanel=newJPanel();JPanelmessPanel=newJPanel();(box5);(boxH);setLayout(newBorderLayout());JSplitPanesplitV=newJSplitPane(,messPanel,picPanel);//分割add(splitV,);validate();}:/:...*;.*;.*;.*;lassDelCextendsJPanelimplementsActionListener{Stringsave=null;JTextField课号1,课号,课名;JButton删除,查找;publicDelC(){try{(());}catch(Exceptione){(不能设置外观+e);}课号1=newJTextField(12);课号=newJTextField(12);课名=newJTextField(12);删除=newJButton(删除);查找=newJButton(查找);Boxbox1=();//横放boxBoxbox2=();Boxbox3=();33/39:..Boxbox4=();Boxbox5=();(newJLabel(课号,));(课号);(newJLabel(课名,));(课名);(删除);(newJLabel(课号,));(课号1);(查找);BoxboxH=();//(box1);(box2);(box3);(box4);(());(this);(this);JPanelpicPanel=newJPanel();JPanelmessPanel=newJPanel();(box5);(boxH);34/39:..setLayout(newBorderLayout());JSplitPanesplitV=newJSplitPane(,messPanel,picPanel);//分割add(splitV,);validate();}:.*;.*;.*;.*;lassSelstuextendsJPanelimplementsActionListener{JTextField学号,姓名,系别;JButton查找;JTextField课号,课名;JButton查找1;35/39:..JTextField课号1,学号1,成绩;JButton查找2;publicSelstu(){学号=newJTextField(12);姓名=newJTextField(12);系别=newJTextField(12);课号=newJTextField(12);课名=newJTextField(12);课号1=newJTextField(12);学号1=newJTextField(12);成绩=newJTextField(12);查找=newJButton(查找学生信息);查找1=newJButton(查找课程信息);查找2=newJButton(查找选课信息);Boxbox1=();//横放boxBoxbox2=();Boxbox4=();Boxbox5=