欢迎来到天天文库
浏览记录
ID:82326445
大小:586.68 KB
页数:37页
时间:2024-08-29
《课程设计作业布置作业说明和软件工程.pptx》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
课程设计作业布置 提纲实验任务说明软件工程概述小组成员及职责课程设计进度安排及提交内容程序结构说明 1.实验任务说明实验一模拟电梯系统程序设计实验二模拟火车调度系统程序设计实验三模拟银行营业厅排队系统程序设计 实验一模拟电梯系统程序设计电梯的运行控制策略顺便服务策略。在运行控制中所规定的安全前提下,一次将一个方向上的所有呼叫和目标全部完成。然后掉转运行方向完成另外一个方向上的所有呼叫和目标(要求实现)。 实验一模拟电梯系统程序设计输入方式:以键盘输入呼叫和目标。图形界面输入呼叫和目标。输出方式:命令行输出报告电梯运行状态。电梯运行的动画显示(调用基于WIN32API的图形库函数EasyGraphicalegG(Egg))。文件记录:电梯运行情况的记录(结果)文件。版本一:实现从键盘接收输入,命令行输出,文件记录;版本二:实现从图形界面输入,动画输出,文件记录。 实验二模拟火车调度系统程序设计A车轨道B车轨道车站S1火车A火车B火车A出站探测点火车A进站探测点火车B进站探测点火车B出战探测点控制策略:如果出现2个监测点同时向中央控制中心发信号,提示火车要进入公共运行轨道,则A、B车交替使用公共轨道。 实验二模拟火车调度系统程序设计火车的运行控制策略:如果出现2个监测点同时向中央控制中心发信号,提示火车要进入公共运行轨道A、B车交替使用公共轨道快车优先(初始设置A、B车的级别)要求实现上述2种策略,而且在火车运行过程中能动态更改策略 实验二模拟火车调度系统程序设计输入数据1)一系列的初始化信息,包括:火车运行速度(分级),运行轨道的长和宽,两火车是否同时启动,先启动哪辆火车,启动间隔时间,启动位置以及探测点位置。2)控制信号,包括暂停或者继续某辆火车运行,改变控制策略。输入方式初始化信息可以从键盘或者文本文件读取控制信号从键盘/界面输入 实验二模拟火车调度系统程序设计输出方式(采用a或者b)a.动画显示火车运行情况:运行轨道,火车当前位置,探测点位置。如果探测点监测到火车通过,需要变色。b.使用文件记录火车运行情况,每隔5秒记录一次。版本一:从键盘输入,火车运行情况输出到文件。版本二:从界面输入,火车运行情况动画输出。 实验二模拟火车调度系统程序设计较高要求:在火车运行轨道上设置若干停靠站点,不同的站点可能有不同的停靠时间。在动画输出时,要能显示出剩余停靠时间。 实验三模拟银行营业厅排队系统程序设计银行营业厅配置营业窗口设3~8个,可以灵活设置两类客户:一类是普通客户,一类是VIP客户(需要提供VIP身份号进行身份验证)设定1~2个窗口优先办理VIP客户服务。只要有VIP客户在等待,这些窗口都要优先办理VIP客户业务。只在当前没有VIP客户服务申请的情况下,这些窗口转去办理普通客户业务。 实验三模拟银行营业厅排队系统程序设计所有客户到达后,先取号排队,等待营业窗口叫号。营业窗口按顺序逐个叫号进行服务。营业窗口在办完一项业务后,可以暂停办理,停止叫号,休息一段时间,然后恢复办理。但原则上所有窗口不会同时休息。到下班时间点或收到“下班”指令后,不再接受新来的客户;等原有排队的客户都被处理完毕,才允许正式下班,关闭营业厅,退出程序。 实验三模拟银行营业厅排队系统程序设计银行营业厅的排队策略按照先来先服务原则,普通窗口永远只能服务于普通客户。VIP窗口顺便服务策略VIP窗口在VIP客户队列为空的时候,转变为普通服务窗口,跟其他窗口一起分担处理普通客户VIP窗口在VIP客户出现后要尽快结束普通业务的处理,为VIP客户提供服务 实验三模拟银行营业厅排队系统程序设计输入数据1)营业厅初始化信息,包括:营业窗口的数量、短暂休息时间、下班时间、VIP信息库。2)控制信号,包括客户到达、VIP身份号、窗口暂停服务、下班指令。输入方式从键盘输入从界面输入 实验三模拟银行营业厅排队系统程序设计输出方式(采用a或者b)a.动画显示营业厅服务情况:营业窗口、工作或暂停状态,当前服务号码,等待服务的客户数。以及是否到下班时间或是否发出下班指令。b.使用文件记录营业厅服务情况,每服务完一个客户记录一次。版本一:初始化信息从文本文件读取,控制信息从键盘输入,营业情况输出到文件。版本二:初始化信息可以自由选择从文本文件或者从键盘输入,控制信息从界面输入,营业情况动画输出。 提纲实验任务说明软件工程概述小组成员及职责课程设计进度安排及提交内容程序结构说明 开发软件不仅仅是编程 目标:提高软件质量和生产率软件质量要素正确性:软件满足规格说明及完成用户目标的程度可靠性:软件无故障执行一段时间的概率性能:完成一项任务所花时间在可忍受范围容错性:忽略或自动处理数据错误;后台处理运行期异常,以友好可理解的方式提示告警.完整性:控制未被授权人员访问程序和数据的程度易用性:用户使用软件的难易程度灵活性:允许用户变更显示风格和操作模式易理解性:代码易读,设计思路清晰,文档齐全易维护性:模块间独立性强,数据结构有扩充余地 以规范的方式操作全过程 瀑布模型(WaterfallModel)维护开发定义问题定义可行性研究需求分析详细设计编码和单元测试集成测试软件移交和维护概要设计 软件开发策略1:复用拿来主义!——复用成熟的代码,创新小部分内容.面向对象学者的口头禅:“请不要再发明相同的车轮子了!” 软件开发策略2:分而治之从易到难,循序渐进。罗马不是一天建成的!计划!计划!还是计划!要有可行的设计图纸! 软件开发策略3:优化折中优化工作不是可有可无的事情,而是必须要做的事情。“为了使整个组织具有最好的战斗力,我们要重用几个人,照顾一些人,在万不得已的情况下委屈一批人”。 提纲实验任务说明软件工程概述小组成员及职责课程设计进度安排及提交内容程序结构说明 3.小组成员职责组长职责进度计划的制定和监控,定期召开小组讨论会议;制定编码规范(程序书写风格要全组一致);任务分解与任务安排;4、定期召开小组会议了解进度以及存在的问题;5、各阶段末需要开小组会议对阶段成果进行讨论评审; 3.小组成员职责组员职责积极参与讨论;配合组长的工作,完成组长交给的任务;要求对自己负责实现的每一个函数要进行算法设计和单元测试。重视组员之间的协作,有问题及时沟通。遇到难题要向助教和老师申请帮助。 提纲实验任务说明软件工程概述小组成员及职责课程设计进度安排及提交内容程序结构说明 程序设计进度要求第7周提交概要设计书第9周提交详细设计书第14周提交可运行版本1和测试报告(键盘输入、文件输出),源代码和使用说明文档。第17周提交可运行版本2和测试报告(界面输入、动画输出并文件记录),源代码和使用说明文档。 程序提交网址 提纲实验任务说明软件工程概述小组成员及职责课程设计进度安排及提交内容程序结构说明 5.程序结构说明整个程序(工程,由多个C文件组成)由输入模块、控制模块和输出模块组成。输入模块:用于接收请求(电梯请求、排队请求),并保存到相应数据结构中。控制模块:负责计算每一时刻的电梯/火车/营业窗口状态(运行/服务、开关门/停靠/叫号/暂停、空闲)输出模块:不断输出刷新电梯/火车/营业厅的状态。注:版本二,界面输入和动画输出模块可以合并 5.程序结构说明-输入模块/*extern说明getInput能被其他文件中的函数调用*/externvoidgetInput(void){charch;while((ch=getchar())!=‘Q’){switch(ch){//将请求保存到相应变量中。}}}input.c定义一个文件input.c,里面有一个函数getInput,用于接收键盘输入请求,并保留到相应数据结构中。voidgetInput(void);input.h 5.程序结构说明-控制模块电梯状态图 运行状态的内部细化停靠状态的内部细化 5.程序结构说明-控制模块银行窗口的状态图 5.程序结构说明-输出模块使用图形库EasyGraphicalegG(Egg)来完成动画显示功能。在visualC++6开发环境下调用。可以创建2个文件output.c和output.houtPut.c中定义动画输出的若干函数,例如:定义一个函数,功能是画9层楼。outPut.h是outPut.c中函数的函数原型声明,供控制模块或主模块调用动画函数时使用。 5.程序结构说明-输出模块/*extern说明drawState能被其他文件中的函数调用*/externvoiddrawState(intst){//根据状态刷新界面switch(st){case1://停靠开门dtEggStop();doorOpen();break;case2:}}output.c定义一个文件output.c,里面有多个动画函数,例如drawState,用于动画显示电梯/火车/营业厅的当前状态。voiddrawState(intst);...output.h
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处