结合六个基本质量属性
可用性:在正常登录操作期间,进程收到了一个未曾预料的外部消息。该进程操作人员受到了这一消息,并继续操作。
可修改性:开发人员想改变用户界面,就需要改变代码,并且不会产生有副作用的变化。这其中就用到了mvc模式。model层也就是数据库层和controller控制器层不发生改变,只需改变与用户交互的view层代码即可。
性能:在正常操作下,输入登录名密码,系统处理登录请求为0.5秒。
安全性:登录注册时,要加入对用户输入的账户名和密码实现md5加密。这也用到了mvc模式
易用性:用户希望在运行时取消系统操作,取消在1秒内发生。
分析具体功能模块的MVC设计实现(例如登录、用户权限等功能模块)
在实际项目中的具体应用或分析MVC设计模式在具体网站中的应用(需要列举实例)
例如登录
view层
用户登录
用户名:
密码:
controller层
业务逻辑:
public String execute() throws Exception
{
Usertable u = userService.validateUser(user.getUsername(), user.getPassword());
if (u != null) {
Map session = ActionContext.getContext().getSession();
session.put("user", u);
return SUCCESS;
}
else
{
return ERROR;
}
}
控制跳转XML中
/login_success.jsp
/login.jsp
model层包含数据库映射文件:
1.实体类和对应的hbm.xml文件
略
2.对数据库的增删改查
public class UserDAO extends HibernateDaoSupport implements IUserDAO {
public void saveUser(Usertable user) {
this.getHibernateTemplate().save(user);
}
public Usertable validateUser(String username, String password) {
String str[] = { username, password };
List list = this.getHibernateTemplate().find("from Usertable u where u.username=? and u.password=?", str);
if (list.size() > 0) {
Usertable user = (Usertable) list.get(0);
return user;
} else
return null;
}
public boolean exitUser(String username) {
List list = this.getHibernateTemplate().find("from Usertable where username=?", username);
if (list.size() > 0)
return true;
else
return false;
}
}