软件工程第五次作业
1.请运行下面code,指出其功能
主要功能:随机产生三个学生的姓,名字和年龄。
2、请将该code进行代码重构,使之模块化,并易于阅读和维护;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public
class
Driver {
private
static
String[] lastNames = {
"Doe"
,
"Smith"
,
"Jones"
,
"Adams"
,
"Marshall"
,
"Thompson"
,
"Bradley"
,
"Brown"
,
"White"
,
"Franklin"
,
"Davis"
,
"Cohn"
,
"Clark"
};
private
static
String[] firstNames = {
"Mary"
,
"John"
,
"Susan"
,
"Michael"
,
"David"
,
"Lisa"
,
"Wendy"
,
"Diane"
,
"Kelly"
,
"Claire"
,
"Elizabeth"
,
"Mitchell"
,
"Richard"
};
public
static
void
main(String[] args) {
// create an empty list
List<Student> studentList =
new
ArrayList<Student>();
// initialize random generator
Random random =
new
Random();
generatestudent(studentList, random);
systemstudent(studentList);
}
private
static
void
systemstudent(List<Student> studentList) {
//print out the students
for
(Student temp : studentList) {
System.
out
.println(temp);
}
}
private
static
void
generatestudent(List<Student> studentList, Random random) {
// create random number of students
for
(
int
i=0; i < 3; i++) {
// get random first name
String tempFirstName = firstNames[random.nextInt(firstNames.length)];
// get random last name
String tempLastName = lastNames[random.nextInt(lastNames.length)];
// get random age
int
age = 18 + random.nextInt(20);
// create student
Student tempStudent =
new
Student(tempLastName, tempFirstName, age);
// add them to the list
studentList.add(tempStudent);
}
}
}
3.
这个视频主要就是一个需求分析,即通过与用户交流,获取信息。第一点,从开人员与用户的交流上来看,用户对自己的需求表达不清楚,没有明确自己想要的产品是什么和想要什么效果,以及开发者也没有明确获取用户提供的信 息。第二,从开发人员对用户的需求分析来看,用户提出的要求不可能完成,而负责开发的公司却接受了任务,觉得工程师就是专家,用户的需求就一定能完成,这 是不合理的。这样会导致最后开发结果根本就不是用户所”期望“的结果。