1、(C)需求分析 (D)程序编码6、软件生命周期中,用户参与主要在 A .(A)软件定义期 (B)软件开发期(C)软件维护期 (D)整个软件生命周期过程中7、在软件工程方法中,常使用的两种软件开发模型是瀑布模型和原型模型,这两者的差别和联系有: A 。 (1)前提和假设不同 (2)方法相互补充 (3)方法相互排斥 (4)前提和假设相同 试给出最正确的组合结论选择(A) (1)、(2) (B) (4)、(3)(C) (4)、(2) (D) (1)、(3)三应用题1、参考本章宾馆信息管理系统的分析和设计过程,分析并设计一个高校人事管理系统,具备人员入校 (毕业分配、调入等)、出校(调出、退体等)、基
2、本情况查询和报表打印等功能。毕业生调入人员信息录入人事档案人事处审核退休处理调离退休人员调离人员查询打印职工号char(10)not null primary key姓名varchar(20)性别char(2)民族出生日期datetime身份证号char(18)籍贯政治面貌毕业院校varchar(50)所学专业毕业时间最高学历最高学位调入时间调离时间退休时间2、参考本章图书网上销售系统的分析和设计过程,分析并设计一个全校选修课报名管理系统。讲 授指 导学号学生名password班级系别学生所属系联系方式教 师教师号任课老师选 修选修课限招人数学分课时课程号已招人数开课时间结束时间课程介绍课程名
3、 1 n M n N m1)管理员(admin):在admin表中存放管理员信息。2)课程信息表(class):在class表中存放与课程内容相关的信息。3)选课记录表(grade):在grade表中存储每一名学生选课记录。4)学生信息表(student):在student表中存放学生个人信息。5)教师表(teacher):在teacher表中存放教师个人信息。公共函数创建数据库连接(Connection):本系统先建立一个连接数据库的函数文件,然后再调用此文件,以方便在各个页面中的实现对数据库的访问。链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据
4、,必须首先创建与数据库的链接的函数,其语法如下:Function GetSQLServerConnection( Computer, UserID, Password, Db ) Dim Params, conn Set GetSQLServerConnection = Nothing Params = ”Provider=SQLOLEDB。1 Params = Params ”;Data Source=” ComputerUser ID= UserID Params = Params & ”;Password=” Password ;Initial Catalog=” Db Set conn
5、 = Server。CreateObject(ADODB.Connection) conn。Open Params Set GetSQLServerConnection = connEnd Function此函数创建了链接对象Conn,打开链接,为“Params”。创建数据对象(RecordSet)ADO中的数据对象通常保存的是查询结果.RecordSet是ADO中最复杂的对象,有许多属性和方法。RecordSet保存的是一行行的记录,并标有一个当前记录.以下是创建函数:Function GetSQLServerRecordset( conn, source ) Dim rsSet rs =
6、Server。CreateObject(”ADODB。Recordset rs。Open source, conn, 2, 2 Set GetSQLServerRecordset = rsFunction GetSQLServerStaticRecordset( conn, source ) Set rs = Server。ADODB。Recordset”)Open source, conn, 3, 2 Set GetSQLServerStaticRecordset = rs其中 set rs=server.CreateObject(”adodb.recordset)这条语句创建了对象Reco
7、rdSet, rs是一个字串,代表一条标准的SQL语句。例如:set rs=conn.Execute(”select * from grade”)其中Conn是先前创建的链接对象,这条语句执行后,对象RecordSet中就保存了表 grade中的所有记录。操作数据库通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行添加、删除等操作。例如:sql=insert into student(“学号”) values(&request.form(”学号”)”)conn。execute(sql) */执行添加操作delete from student where “学号=reque
8、st。querystring(学号conn.execute(sql) */执行删除操作关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用函数文件实现关闭,然后再释放它。Function GetSQLServerRs( Computer, UserID, Password, Db, source, Cursor ) Dim conn, rs On Error Resume Next Set GetSQLServerRs = Nothing Set conn = GetSQLServerConnection( Computer, UserID, Passw
9、ord, Db ) If conn Is Nothing Then Exit FunctionADODB.Recordset”) If Err.Number 0 Then Exit Function Set GetSQLServerRs = rsEnd Function */关闭创建的数据对象及链接对象/*模块详解登录分析:% if (Request(submit”) Empty and (request(id)=” or request(password”)=”) then response.writediv align=center请输入密码或用户名/div”else If Request
10、(submit) Empty Then Set conn = GetSQLServerConnection( ”(local)”,”sa, ”sa, netclass” ) Set rs = GetSQLServerStaticRecordset(conn, student)% */如果当学生用户输入相关登录身份时,连接数据库,并打开student表 /*/center/p” session()=rs(2) */并且把rs(2)中对应的内容传递给对象(session(“id”), 在下面页面跳转中该变量不会改变。/*Else response。writecenterb用户名错误或密码错误/b”
11、 /否则登录失败/* end if 开课情况与选课内容分析: if rs2.eof */判断记录集是否超过5条/*script language=vbscript /若大于5,不能再选修课程了/*MsgBox ”你已修满课程,不能再修了!history.back() /script else if rs3。eof=true then */否则,有权行选课操作。但需要有以下几个约束条件.当前所选的课程号不能与记录集中的相同。/*if date=rs(2) then */当前选课时间要符合开课时间和结束选课时间的要求。 if rs(0)rs(1) then*/ 选择的课程中不能选报已被报满的课程。
12、if daters(3) then rs3。addnew*/若满足以上几个约束条件,那么从rs(选课表)中获取相关课程 rs3(2)=rs2(0) 内容添加到rs3记录集中(学生选课记录表)。/* rs3(1)=request(”课程号 。 . rs3(4)=rs2(4) rs3.update rs(0)=rs(0)+1 /在学生选课成功后,对于选课表中的“实招人数”一栏要做相 rs。update应的修改。/* response.write 选课成功” */然后,显示“选课成功,并提示你已有几条选 response。write 你已选了 课记录。/*Writei+1”门课br”a href=c
13、hoseclass.asp返回/a” else % script language= MsgBox ”你来迟哦,已错过选课时间!” history.back() end if else % */否则一一提示没能成功选课的理由,让用户容易明白失败的原因,这在 script language=”vbscript代码中能直接反应,这里不做解释/* MsgBox ”对不起,该课程已报满! history.back() /script MsgBox 你早到啦,还没开始选课呢! history。back() 你已经选了这门课a href=choseclass。asp返 end ifend if %选课记录
14、: For i=0 to rs3.Fields。Count-1 Response.Write ”TD bgcolor=B5EDFF rs3(i)。Name /TD” Next while not rs3。eof */根据session()的传递,在学生选课记录表中找出对应的response.Write ”td记录集,并通过循环的方式在页面中显示数据库的内容:response。Write rs3(0) 学生名,课程名,课程号,班级,系别等/*。.response.Write ”trtd”Write rs3(4)Write ”rs3.movenextwend %学生报名管理:dim stu stu
15、=SELECT student。学生名, class.课程名, student。班级,student.系别 FROM student INNER JOIN grade ON student.学号 = grade。学号 INNER JOIN class ON grade。课程号 = class。课程号 WHERE class。任课老师=”&session(”teacher)” Set conn = GetSQLServerConnection( ”(local),”sasa, ”netclass”) Set rs = GetSQLServerStaticRecordset(conn, stu)
16、if rs。eof then response.write ”center response。Write ”对不起暂时还没有学生选你的课程如有意见请跟管理员联系”/font else session(”class)=rs(1)% */通过student表中的学号与grade表中的学号连接使得student表与grade表相连,同时grade表中的课程号与class表中的课程号连接使得grade表与class表相连。然后,又通过session的变量“teacher”传递登录教师名。打开符合上述几个条件的记录集,如果找不到与上述几条相符的记录集,那么显示“对不起暂时还没有学生选你的课程如有意见请跟
17、管理员联系”/* For i=0 to rs.Fields.Count1 Response。TD bgcolor=#B5EDFF” rs(i).Name & ” Response.Write ”td bgcolor=#B5EDFF【删除此学生】/tdtd bgcolor=#B5EDFF【打印】 rs.movenext wend【打印】此功能本系统中巧妙的运用了ASP中调用word打印语句实现打印功能。这一设计简单又有效。 stu=”SELECT student。学生名, class。课程名, student。班级,student.系别 FROM student INNER JOIN grade
18、 ON student.学号 = grade.学号 INNER JOIN class ON grade。课程号 = class.课程号 WHERE class。session(teacher”)&Set conn = GetSQLServerConnection( ”(local)”,”sa”, sa”, netclass”)Set rs = GetSQLServerStaticRecordset(conn, stu)%Response。ContentType =application/msword”response.AddHeader ”contentdisposition”,inline:
19、 filename=report.doc*/通过用SQL内联语句找出符合打印的的记录集,然后调用ASP中通过连接word打印的语句准备打印。 For i=0 to rs.Fields.Count-1 Response。Write TD bgcolor=B5EDFF rs(i).Name ”/TD Next while not rs。 response.Write tr % wend【删除】主要用到request对象的session数据集合来获取searchuser与class的值。这里涉及到三张表:student,class,grade。通过rs。delete,rs。update达到实现效果。主要代码与解释: dim stu stu=”SELECT grade. FROM grade INNER JOIN student ON student.学号 = grade.学号 INNER JOIN class ON grade.课程号= class。课程号 WHERE student.学生名= ”request(searchuser)&” AND class。课程名 = session(”class Set conn =
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1