这不是UML的真正应用,我对UML略知一二,下面我只是借用其中的一些东西表示自己的思路而已。我好像已经习惯于在画图的过程中理清自己的思路了。
1、功能:
1)、登录;2)注销
2、登录:
1)通过登录对话框登录
2)通过cookie自动登录
3)注销
3、类图
1)、登录实现类(包括手动登录和自动登录),里面的excute()方法活动图:
2)、注销实现类,里面的excute()方法活动图:
3)、显示帖子内容的实现类,其中会用到登录,里面的excute()方法活动图:
4、代码改动:
1)jsp页面:
(1)、在登录页面添加一个记住密码的检查框;
(2)、游客用户在添加内容的页面、你的目标、添加新目标、记下学习日记、帐号管理的链接失效,综合RSS订阅中涉及单独用户的链接失效(但是不去掉相应的链接文字,表示注册用户可以有这些功能,游客没有)
2)java文件修改:
(1)、除了LoginAction.java、 LogoutAction.java作相应的修改外,其它的java文件的修改要注意:
<1>、游客登录在UserDB.java的UserDB:
checkUser(in ifGuest : int,in aUserName : String,in aPsd : String) : UserInfo中构造一个UserInfo;
<2>、在UserDB.java中添加一个在cookie上检查用户的方法:
checkUser(in aUserName : String,in aPsd : String) : UserInfo
<3>、游客用户不能进入的action在相应的文件中加上验证;
5、argoUML0.18.1模型:
1)、第一版:附件:loginV0.1.zip,包括含反向工程所需要的classpath内容的argo.user.properties文件,314827 bytes
为了以后可能开启guest帐号的发帖权限,可以保留guest帐号,只去掉发帖和改帖权限。
涉及到的代码包括jsp页面的相关发帖、改帖链接:
和相关的java文件:PostAdvice0Action.java, PostEditAdvice0Action.java, ToEditAdviceAction.java, ToWriteAdviceAction.java, UploadAction.java
可以在相关的java文件的登录代码后面加上一个公用的方法,名叫guestForward(),跳到一个公用的forward中。
以后,允许guest上述权限的时候,改一下guestForward()就行了。可以暂时把这个方法放在com.learndiary.website.util.Util类中。
可以不用登录就贴帖子,再在登录的时候转过来就行,这样,也许该添加用户自主删除自己的帖子的权限,除非这个帖子已经有人回复。
至于上面提到的安全问题,可以限制guest帐号不能提交私有帖子来控制。
还有,是否应该在回复帖子的页面添加留下诸如:姓名、主页、email等项目的选项?
倒是现在也没有什么人参与和回复,这些功能的设想可以先记在这里,以后看情况再实现。