54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
str1 = Left(tmp1, n - 1) str2 = Right(tmp1, Len(tmp1) - Len(str1) - Len(tmp2)) str = str1 & \ Application.Lock If Len(str) = 1 Then Application(\ Else Application(\ End If Application.Unlock End Sub
Response.Write Application(\%>
清单 4-3 处理用户登录的ASP文件
ASP有两个基本对象,“Response”是对浏览器的输出,“Request”则是读入信息。第9行就是接收表单变量“act”的值,第24行是对浏览器输出信息,使用“Response”的“write”方法。
第11行到37行主要处理用户登录,当前登录用户名保存在“Application(\”中,新登录用户在这个变量中查找子串,如果能找到则禁止登录,否则把用户名添加到变量中。注意,对“Application”的写操作,需要像第26行到第32行那样,先“Lock”,然后赋值,最后“Unlock”,因为该变量能被当前服务器的所有网页程序访问,“Lock”后其他程序就只能读取数据,不能修改了。 第46行到第65行演示了VBScript的自定义函数的写法,第43行则是对它的调用方法。 本例中多处涉及了VBScript针对字符串的操作,有拼接、查询、截取等操作,请自行对照。
25
5 项目示例
5.1 概述
软件公司开发的软件,基本分为产品和项目两类。产品主要是通用的软件,如操作系统、杀毒软件等,有比较普遍的需求,可以摆放到软件商店中销售。而项目则是客户定制的软件,包含只有该客户才需要的功能,只为该客户开发,不能销售给别的客户。这两类软件,其开发成本基本相同,但产品可以大量销售,不需要用一套软件收回成本,所以销售价格低。而项目只能卖给唯一的一位客户,必须收回成本甚至赢利,所以项目的销售价格比产品高得多。
这两类软件的开发过程是相同的。按照现代软件开发管理的理念,软件开发分为这样几个阶段:项目立项、需求分析、系统设计、编码测试、客户验收和维护。在各个阶段都需要有相应的文档(电子化或纸化),便于跟踪各个过程,实现科学管理。主要开发文档有:可行性分析报告、用户需求说明书、软件需求规格说明书、概要设计说明书、详细设计说明书、测试用例、测试记录等。而管理文档主要有:项目开发计划、测试计划、测试总结报告、项目进展报告等。
本章以一个虚拟项目,讲述一个小型MIS系统的各个开发过程,使读者可以了解到软件公司在实际运作中的主要阶段。
5.2 设计
假设用户要求开发一个“高校成绩管理系统”,是一个B/S结构的小型MIS系统。本节主要介绍项目组相关的设计阶段。这些阶段包括:需求分析、概要设计、详细设计、数据库设计、测试用例等。
5.2.1 需求分析
这个阶段主要是详细了解客户的需求,尽可能讲清所有细节,以便项目经理作出规划。一般需要项目组成员到客户那里,与相关人员详谈,然后由项目组作出需求分析报告,由客户确认。
“成绩管理系统”包括三个主要的功能:学生课程成绩管理、学生信息管理和课程信息管理。客户希望本系统有以下类型的用户,每种用户有相应的权限。包括: ? 超级管理员:注册管理员用户
? 管理员:注册学生、领导用户;维护学生基本信息;维护课程基本信息;查询成绩; ? 学生:选课;查询成绩; ? 领导:查询成绩;
5.2.2 概要设计
这个阶段由项目经理组织项目组成员讨论,制订系统的初步结构,包括使用什么服务器软硬件、哪种开发技术、系统大致分为多少功能模块、每个模块的大致功能如何等等。 本例的系统采用Windows操作系统,IIS作为Web服务器软件,使用ASP技术,数据库使用Access。系统分为以下模块:注册用户;课程基本信息管理;课程成绩管理、选课系统和成绩查询。
5.2.3 详细设计
本阶段是最重要的阶段,要进行非常详细的设计,对于B/S系统来说,应该规划出所有页面,每个页面的布局、实现的功能,如果可能的话,甚至包括需要开发哪些函数、函数的主要功能、出口、入口参数等等,都需在这一阶段完成。本例只进行了各页面的页面布局和主要功能的设计。 图 5-1为系统初始登录页面(文件名为default.asp),用户在此页面输入用户名、密码,提交到login.asp处理,该页面无用户界面,判断用户类型,如果是超级管理员,转到超级管理员的管理页面;如果是其他用户,转到主界面。
图 5-2为超级管理员使用的页面(admin.asp),用于管理员用户的注册、删除。注册时需同时提供密码。
26
图 5-1 登录页面
图 5-2 超级管理员页面
图 5-3是超级管理员之外的其他用户登录成功后看到的主界面(main.asp),上方的功能链接需根据不同的用户显示不同的内容。
图 5-4和图 5-5是管理员进行用户管理的界面(user.asp和user_manage.asp),在第一个页面中输入要管理的用户名,如果该用户已存在则显示用户信息,可修改或删除;若该用户不存在,则在后面的页面中注册该用户。
图 5-3 系统主界面
27
图 5-4 用户管理界面1
图 5-6和图 5-7是管理员进行课程管理的界面(course.asp和course_manage.asp)。与用户管理类似,先输入课程编号,如果该课程存在则修改(不允许删除),否则注册。
图 5-5 用户管理界面2
图 5-6 课程管理界面1
28
图 5-7 课程管理界面2
图 5-8 成绩管理界面1
图 5-8和图 5-9是管理员录入或修改学生成绩的页面(score.asp和score_manage.asp)。第一个页面中如果只输入课号,就是对选修该课程的所有学生录入成绩;如果同时输入了学号,则是修改该学生的成绩。
本系统的“成绩查询”功能,对于不同权限的用户有不同的显示,需要区别对待。用户选择该功能后,由文件list.asp进行处理,根据用户类型转到不同的显示页面。图 5-10的三个页面,第一个页面(list_xsh.asp)是学生用户看到的页面,显示该学生选修的所有课程的成绩、学分等信息;第二个页面(list_zhy.asp)是管理员查询某专业下所有学生的信息,每行显示一个学生的汇总信息;最后一个页面(list_hz.asp)是领导或管理员查看全校各专业的信息,每行显示一个专业的汇总情况。
图 5-9 成绩管理界面2
29