- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
预备实验 UML建模
实验目的:加深对UML建模的理解
实验环境:MyEclipse(Java)或Rational Rose等
实验内容:
1、需求描述
某学校准备开发一套选课管理系统,其主要用户是教师和学生。假设教师可以查看课程、增加课程和修改课程;学生可以选修一门或多门课程(为简化起见,学生选修某课程后不允许修改和删除),还能够查看所选修课程的成绩。其中:课程可由课程编号、课程名称进行描述;教师可用工号和姓名进行描述;学生可用学号、姓名进行描述。
B. 某信用卡系统账户具有使用状态和冻结状态,其中使用状态又包括正常状态和透支状态两种子状态。如果账户余额小于零则进入透支状态,透支状态时既可以存款又可以取款,但是透支金额不能超过5000元;如果余额大于零则进入正常状态,正常状态时既可以存款又可以取款;如果连续透支100天,则进入冻结状态,冻结状态下既不能存款又不能取款,必须要求银行工作人员解冻。用户可以在使用状态或冻结状态下请求注销账户。根据上述要求,绘制账户类的状态图。
2、用例图
根据上面的需求描述A,运用UML画出用例图。画图中的用例名和参与者均用中文表示;
3、类图
根据上面的需求描述A,运用UML画出初始设计类图(仅含业务类),图中应给出属性和方法的中文名称,类与类之间若存在关联,可不确定关联的方向,但需要标出这些关联的多重性。
4、状态图
根据上面的需求描述B,运用UML画出状态图
实验2 单一职责原则训练
实验目的:加深对单一职责原则的理解
实验环境:C#.Net/VC++.Net或MyEclipse(Java)等
实验内容:
1、实例说明
某基于Java的C/S系统的“登录功能”通过如下登录类(Login)实现:
现使用单一职责原则对其进行重构,并编程实现(可仿真实现数据数据库DAO形式,当然如果能实现真实的数据库连接并进行数据库的操纵更好)。
package Experiment_One_Code;
import java.sql.*;
/**
*
* @author Author
*
*/
public class DBUtil {
public static Connection getConnction() {
Connection dbConnection = null;
try {
Class.forName(DRIVER_CLASS);
dbConnection = DriverManager.getConnection(DATABASE_URL,
DATABASE_USRE, DATABASE_PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return dbConnection;
}
}
package Experiment_One_Code;
/**
*
* @author Author
*
*/
public class UserDAO {
private DBUtil db = new DBUtil();
private String userName;
private String userPassword;
public boolean findUser(String userName, String userPassword) {
return false;
}
}
package Experiment_One_Code;
/**
*
* @author Author
*
*/
public class LoginForm {
public LoginForm(UserDAO dao) {
super();
this.dao = dao;
}
public LoginForm() {
super();
}
UserDAO dao = new UserDAO();
public void init() {
}
public void display() {
}
public void validate() {
}
}
package Experiment_One_Code;
/**
*
* @author Author
*
*/
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
LoginForm loginForm = new LoginForm()
文档评论(0)