您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 第8章数据库应用系统设计实例习题解答
164第8章数据库应用系统设计实例习题解答一.简答题1、试述瀑布模型和原型模型的优缺点?瀑布模型(WaterfallModel)1970年WinSTonRoyce提出了著名的瀑布模型,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。瀑布模型采用文档驱动,系统可能不满足客户的需求。快速原型模型关注满足客户需求,可能导致系统设计差、效率低,难于维护。2、简述客户/服务器应用系统的开发过程?1)对应用系统进行分析,完成客户和服务器的功能划分2)架设服务器3)选择客户端开发工具和客户服务器连接中间件4)开发应用系统1653、简述浏览器/服务器应用系统的开发过程?1)规划Web站点2)安装Web服务器3)构建或虚拟网络环境4)开发Web站点5)发布Web站点二.选择题1、软件工程的出现主要是由于C。(A)程序方法学的影响(B)其他工程科学影响(C)软件危机的出现(D)计算机的发展2、需求分析系统分析员和用户共同确定软件的功能和限制,提出A、B、C。(A)可行性研究报告(B)数据字典(C)系统功能说明书(D)实施方案3、瀑布模型是一种B。(A)软件维护模型(B)软件生命期模型(C)软件生命周期(D)程序设计方法学4、软件测试的目的是B。(A)改正错误(B)发现错误(C)推断错误原因(D)修改程序5、数据流图是用于C阶段的工具?(A)可行性分析(B)详细设计(C)需求分析(D)程序编码6、软件生命周期中,用户参与主要在A。(A)软件定义期(B)软件开发期(C)软件维护期(D)整个软件生命周期过程中7、在软件工程方法中,常使用的两种软件开发模型是瀑布模型和原型模型,这两者的差别和联系有:A。(1)前提和假设不同(2)方法相互补充(3)方法相互排斥(4)前提和假设相同试给出最正确的组合结论选择166(A)(1)、(2)(B)(4)、(3)(C)(4)、(2)(D)(1)、(3)三.应用题1、参考本章宾馆信息管理系统的分析和设计过程,分析并设计一个高校人事管理系统,具备人员入校(毕业分配、调入等)、出校(调出、退体等)、基本情况查询和报表打印等功能。职工号char(10)notnullprimarykey姓名varchar(20)notnull性别char(2)民族varchar(20)出生日期datetime身份证号char(18)notnull籍贯varchar(20)政治面貌varchar(20)毕业院校varchar(50)所学专业varchar(50)毕业时间datetime最高学历varchar(20)最高学位varchar(20)调入时间datetime调离时间datetime退休时间datetime毕业生调入人员信息录入人事档案人事处审核退休处理调离退休人员调离人员查询打印1672、参考本章图书网上销售系统的分析和设计过程,分析并设计一个全校选修课报名管理系统。1nMnNm1)管理员(admin):在admin表中存放管理员信息。2)课程信息表(class):在class表中存放与课程内容相关的信息。3)选课记录表(grade):在grade表中存储每一名学生选课记录。4)学生信息表(student):在student表中存放学生个人信息。5)教师表(teacher):在teacher表中存放教师个人信息。公共函数创建数据库连接(Connection):本系统先建立一个连接数据库的函数文件,然后再调用此文件,以方便在各个页面中的实现对数据库的访问。链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接的函数,其语法如下:讲授指导学号学生名password班级系别学生所属系联系方式教师教师号任课老师password选修选修课所属系限招人数任课老师学分教师号课时课程号已招人数开课时间结束时间课程介绍课程名168FunctionGetSQLServerConnection(Computer,UserID,Password,Db)DimParams,connSetGetSQLServerConnection=NothingParams=Provider=SQLOLEDB.1Params=Params&;DataSource=&ComputerParams=Params&;UserID=&UserIDParams=Params&;Password=&PasswordParams=Params&;InitialCatalog=&DbSetconn=Server.CreateObject(ADODB.Connection)conn.OpenParamsSetGetSQLServerConnection=connEndFunction此函数创建了链接对象Conn,打开链接,为“Params”。创建数据对象(RecordSet)ADO中的数据对象通常保存的是查询结果。RecordSet是ADO中最复杂的对象,有许多属性和方法。RecordSet保存的是一行行的记录,并标有一个当前记录。以下是创建函数:FunctionGetSQLServerRecordset(conn,source)DimrsSetrs=Server.CreateObject(ADODB.Recordset)rs.Opensource,conn,2,2SetGetSQLServerRecordset=rsEndFunctionFunctionGetSQLServerStaticRecordset(conn,source)DimrsSetrs=Server.CreateObject(ADODB.Recordset)rs.Opensource,conn,3,2SetGetSQLServerStaticRecordset=rsEndFunction其中setrs=server.CreateObject(adodb.recordset)这条语句创建了对象RecordSet,rs是一个字串,代表一条标准的SQL语句。例如:setrs=conn.Execute(select*fromgrade)其中Conn是先前创建的链接对象,这条语句执行后,对象RecordSet中就保存了表grade中的所有记录。操作数据库通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行添加、删除等操作。例如:sql=insertintostudent(“学号”)values('&request.form(学号)&')169conn.execute(sql)********/执行添加操作sql=deletefromstudentwhere“学号”=&request.querystring(学号)conn.execute(sql)********/执行删除操作关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用函数文件实现关闭,然后再释放它。FunctionGetSQLServerRs(Computer,UserID,Password,Db,source,Cursor)Dimconn,rsOnErrorResumeNextSetGetSQLServerRs=NothingSetconn=GetSQLServerConnection(Computer,UserID,Password,Db)IfconnIsNothingThenExitFunctionSetrs=Server.CreateObject(ADODB.Recordset)IfErr.Number0ThenExitFunctionrs.Opensource,conn,Cursor,2IfErr.Number0ThenExitFunctionSetGetSQLServerRs=rsEndFunction**********/关闭创建的数据对象及链接对象/*********模块详解登录分析:%if(Request(submit)Emptyand(request(id)=orrequest(password)=))thenresponse.writedivalign=center请输入密码或用户名/divelseIfRequest(submit)EmptyThenSetconn=GetSQLServerConnection((local),sa,sa,netclass)Setrs=GetSQLServerStaticRecordset(conn,student)%***/如果当学生用户输入相关登录身份时,连接数据库,并打开student表/***%i=0whilenot(rs.eofori=1)***/如果该身份在记录中存在,将获得的“id”传递给打开的记录集rs(2),ifrs(2)=request(id)then并且与该记录集中的“password”字段对应的内容做比较/***ifrequest(password)=rs(1)theni=1endifrs.movenext170wendifi=1thenrs.moveprevious***/如果用户名与密码相匹配,那么显示“id欢迎你的到来”/***response.Writerequest(id)response.write欢迎你的到来/b/center/psession(id)=rs(2)***/并且把rs(2)中对应的内容传递给对象(session(“id”)),在下面页面跳转中该变量不会改变。/***Elseresponse.writecenterb用户名错误或密码错误/b/center***/否则登录失败/***endif%开课情况与选课内容分析:%ifrs2.eoftruethensql=select*fromgradewhere学号='&session(id)&'setrs5=server.CreateObject(adodb.recordset)rs5.opensql,conn,1,1***/根据学生登录身份,打开该学生的选课记录表/***i=rs5.recordcountifi=5then%***/判断记录集是否超过5条/***scriptlanguage=vbscript***/若大于5,不能再选修课程了/***MsgBox你已修满课程,不能再修了!history.back()/s
本文标题:第8章数据库应用系统设计实例习题解答
链接地址:https://www.777doc.com/doc-2199213 .html