系统详细设计(过程)V0.4
#################################################################### Step0: 待导入系统的csv 数据
courseProgress.csv 软件工程1403.csv
teacherInfo.csv 软件工程1404.csv
软件工程1401.csv 软件工程1405.csv
软件工程1402.csv 计算机科学与技术1401.csv
输入:
1. 教师信息
2. 班级信息
3. 课程进程信息
输出:
studentInfo.csv teacherInfo.csv
courseInfo.csv
导入失败的日志 importError_.log
接口定义:
public boolean importTeacherInfo(String _file)
{
1. 打开文件
2. ##检查文件的编码和文件内字符的编码【可选】
3. 检查列的个数和列名
3.1读teacherInfo.csv 的第一行
3.2用split()函数,以逗号为参数分隔第一行的字符串
3.3用集合比较操作完成列名的匹配和检查
4. 检查是否存在为空的单元格
4.1搜索该行存在几个逗号
4.2逗号的个数意味着行内列的个数
4.3检查所有缺失数据的情况,如行首,行末,行中
5. 将文件的getUniqueLine 为True 的行写入teacherInfo
6. 对于出错的情况记录如importError 中
}
//比较 待导入文件和系统内文件某行的差异,若有差异则返回False boolean getUniqueLine(String file,String line )
{
通过搜索或匹配,依次查看file 文件内是否出现过line
根据匹配结果未出现则返回True 或者False
}
public boolean importStudentInfo(String _file)
类似教师导入的设计
public boolean importCourseInfo(String _file)
{
1. 打开courseProgress.csv
2. 抽取其中有效的数据列
3. 检查数据的有效性(参考teacher 导入的设计)
4. 检查对应的教师是否存在于TeacherInfo 中,若不存在则写日志并跳过
该数据
5. 检查对应的班级是否存在于studentInfo 中,若不存在则写日志并跳过
该数据
6. 根据ClassNums 的情况生成符合courseInfo 格式的行数据
7. 检查该行是否在courseInfo.csv 中已经存在,若存在则写日志
8. 若不存在则并写入courseInfo.csv 中
}
其中file 是导入的文件名
dataTyep 是导入的数据类型
(如teacher,Stu,Course 分别为教师数据,学生数据,课程数据)
##################################################################### Step0 -> Step1 教师、班级、选课数据的导入用例成功执行后 courseInfo.csv settings.ini
studentInfo.csv teacherInfo.csv
系统详细设计(过程)V0.4
#################################################################### Step0: 待导入系统的csv 数据
courseProgress.csv 软件工程1403.csv
teacherInfo.csv 软件工程1404.csv
软件工程1401.csv 软件工程1405.csv
软件工程1402.csv 计算机科学与技术1401.csv
输入:
1. 教师信息
2. 班级信息
3. 课程进程信息
输出:
studentInfo.csv teacherInfo.csv
courseInfo.csv
导入失败的日志 importError_.log
接口定义:
public boolean importTeacherInfo(String _file)
{
1. 打开文件
2. ##检查文件的编码和文件内字符的编码【可选】
3. 检查列的个数和列名
3.1读teacherInfo.csv 的第一行
3.2用split()函数,以逗号为参数分隔第一行的字符串
3.3用集合比较操作完成列名的匹配和检查
4. 检查是否存在为空的单元格
4.1搜索该行存在几个逗号
4.2逗号的个数意味着行内列的个数
4.3检查所有缺失数据的情况,如行首,行末,行中
5. 将文件的getUniqueLine 为True 的行写入teacherInfo
6. 对于出错的情况记录如importError 中
}
//比较 待导入文件和系统内文件某行的差异,若有差异则返回False boolean getUniqueLine(String file,String line )
{
通过搜索或匹配,依次查看file 文件内是否出现过line
根据匹配结果未出现则返回True 或者False
}
public boolean importStudentInfo(String _file)
类似教师导入的设计
public boolean importCourseInfo(String _file)
{
1. 打开courseProgress.csv
2. 抽取其中有效的数据列
3. 检查数据的有效性(参考teacher 导入的设计)
4. 检查对应的教师是否存在于TeacherInfo 中,若不存在则写日志并跳过
该数据
5. 检查对应的班级是否存在于studentInfo 中,若不存在则写日志并跳过
该数据
6. 根据ClassNums 的情况生成符合courseInfo 格式的行数据
7. 检查该行是否在courseInfo.csv 中已经存在,若存在则写日志
8. 若不存在则并写入courseInfo.csv 中
}
其中file 是导入的文件名
dataTyep 是导入的数据类型
(如teacher,Stu,Course 分别为教师数据,学生数据,课程数据)
##################################################################### Step0 -> Step1 教师、班级、选课数据的导入用例成功执行后 courseInfo.csv settings.ini
studentInfo.csv teacherInfo.csv