zoukankan      html  css  js  c++  java
  • [高级软件工程教学]个人第5次班级作业评分

    作业地址

    https://edu.cnblogs.com/campus/fzu/AdvancedSoftwareEngineering/homework/1409

    评分细则

    • 篇博客随笔;(5 points)
    • 类图(5 points)、关键类java源码及注释(6 points);(每题11 points)

    评分结果

    学号 B1 T1-1 T1-2 T2-1 T2-2 T3-1 T3-2 T4-1 T4-2 总分
    *320034 5 6 5 6 5 3.5 5 4.5 5 45
    *320036 2 4 5 3 4 4 5 4 4 35
    *320053 5 5.5 5 5.5 5 5.5 5 5 5 46.5
    *320074 5 6 5 6 5 6 5 5.5 5 48.5
    *320075 5 6 5 6 5 6 5 5.5 4.5 48
    *320076 5 6 5 6 5 6 5 5.5 5 48.5
    *320077 5+3 6 5 5.5 5 5.5 5 6 5 51
    *320078 5 4.5 4.5 4 4.5 4 4 3 5 38.5
    *320079 5 6 5 6 5 6 5 5.5 5 48.5
    *327033 5 6 5 6 5 6 5 5.5 5 48.5
    *327037 5 5 5 4 4.5 4 5 5 5 42.5
    *327041 5 5 5 4.5 5 2.5 5 4 5 41
    *327078 5 5 5 5 5 2.5 4 4 5 40.5
    *327109 5 5.5 5 6 5 6 5 5.5 5 48
    *327112 5 5.5 5 6 5 6 5 5.5 5 48
    *327010 5 6 5 5 5 6 5 5.5 4.5 47

    总结

    相对于前两次作业,本次作业整体完成情况有所提高,对类图的细节把握准确,主要问题是代码实现部分,下面列出存在的问题:
    1、一些同学在某些模式最关键部分没有给出代码实现的细节,甚至没有文字说明。例如

    • 在第二题Command模式作业

    某公司欲开发一个基于Windows平台的公告板系统,系统提供主菜单(Menu)其中有菜单项(MenuItem)。通过Menu类的addMenuItem()方法增加菜单项。菜单项的打开方法是click(),每个 菜单项包含一个抽象命令类,具体命令类包括OpenCommand()、CreateCommand()、EditCommand()等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen())的open()、create()、edit())等方法。使用Command模式来设计。

    BoardScreen为模式中的Receiver类;MenuItem为模式中的Invoker类。一些同学在Command中声明了BoardScreen对象,但是没有体现在对象在何时被初始化,也没有任何参数传递过程。

    public class OpenCommand extends AbstractCommand{
        private BoardScreen boardScreen;
        public void excute(){}
    }  
    
    

    如上述代码,这显然无法体现该模式的特点。

    • 再如,在第三题Mediator模式作业

    某论坛系统欲增加一个虚拟聊天室,允许论坛会员通过该聊天室进行信息交流,普通会员(CommonMember)可以给其他会员发送文本信息,钻石会员(DiamondMember)可以给其他会员发送文本和图片信息。该聊天室可以对不雅字符进行过滤,如“TMD”等字符,还可以对发送图片大小进行控制。使用Mediator模式来设计。

    中介者类:聊天室;同事类:会员。

    public class DiamondMember extends Member
    { 
       public DiamondMember(String name)
       {
           super(name); 
       }
       public void sendText() 
       {
        } 
    ...
    }
    

    上段代码中,DiamondMember为砖石会员实现类,该类中sendText()没有任何实现细节,同事是如何通过中介者实现彼此之间的通信?

    public class Chatroom extends AbstractChatroom
    {
      public void sendText()
      {
      //发送文本  
      }
    ...
    

    本段代码中Chatroom为中介类的具体实现类,sendText()同样也没有任何细节,所以这一段代码表述,并不能展示任何该模式的特点。

    2、个别未使用markdown格式编辑,特别是代码段部未为用markdown的代码注释
    3、个别同学的所有模式都没有测试类

    设计模式的作业已近到一个阶段,作业中的这些模式都是比较常用的设计模式,希望同学们可以总结这几次的作业,对这作业中存在的问题进行分析,若有任何困惑,大家可以在班级群里交流。

  • 相关阅读:
    [Linux]Vmwaer创建CENTOS7虚拟机[转]
    [游记]二访金陵
    [Android]ADB调试: SecurityException: Injecting to another application requires INJECT_EVENTS permission
    [操作系统]记一次未尽的三星 Galaxy A6s(SM-G6200)刷机过程
    [网络]NAT与内网穿透技术初探【待续】
    结构化系统建模之程序流程图|系统流程图|数据流图
    UML系统建模之用例视图
    [Linux]常用命令之【mkdir/touch/cp/rm/ls/mv】
    [Linux]监控外部用户登录及外部主机连接情况
    [Java SE]Unicode解码
  • 原文地址:https://www.cnblogs.com/stephenchung/p/8018268.html
Copyright © 2011-2022 走看看