`
17studio
  • 浏览: 193480 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

设计入门之乱弹 (1) - 学生成绩管理系统

阅读更多

嗯,这篇文章是用来拨开迷雾的

在学校里面学到很多的概念,常常都会和实际有偏差,比如,如何做一个项目,那么就是一堆的需求表,设计表,然后来类设计的各种规范,各种要求。。。一下子头晕

初出茅庐的学生们需要谋生,这样的开发流程会让他们无所适从,一边动手做着项目,一边觉得学校的教育无可奈何,不幸的,我就经历了这么一个过程

来一个学生成绩管理系统来调侃一下

做一个学生成绩管理系统,要求:

1. b/s架构,基于j2ee,使用数据库

2. 实现多用户的增删改读

3. 使用hibernate实现后台数据库的高效访问

4. 使用struts保证提供给客户的操作界面可以随时更改

学生成绩管理系统?哦,my god,是B/S结构,设计是谁来做?有什么类对象,E-R关系图?文档?。。。这类问题堆在一起,想一下子解决,自己首先就完蛋

来一个实际的例子,让我们共同完成,首先,什么是成绩管理,很简单,首先就是成绩的增删改读,于是代码来了。。。

class ScoreManager
   showScore() {}
   addScore() {}
   removeScore() {}
   modifyScore() {}
}
剩下就是填空,呵呵,这个时候,突然老板说,不对,我需要B/S结构,数据需要存在数据库里面,OK,选择了一个j2ee的框架,于是代码变成。。。

import jdbc;
import servlet

class ScoreManager extends HttpServlet {
   doGet() {
     if (show) {}
     else if (add) {}
     else if (remove) {}
     else if (modify) {}
   }

   showScore() {}
   addScore() {}
   removeScore() {}
   modifyScore() {}
}

老板又来一个要求,我希望实现的系统,是可以管理多个学生的

import jdbc;
import servlet

class ScoreManager extends HttpServlet {
   doGet(request) {
     name = request.getParameter("name");
     if (show) {}
     else if (add) {}
     else if (remove) {}
     else if (modify) {}
   }

   showScore(name) {}
   addScore(name) {}
   removeScore(name) {}
   modifyScore(name) {}
}

加了一个参数,OK,多个学生也搞定了,这个时候,老板又来了,听说hibernate不错。。。只好拿起hibernate的数,把jdbc去掉,然后用hibernate,代码只要改一下import就好

import hibernate; // import jdbc

老板总是很多要求的:页面,要常常修改,不能老是一个样,这个时候,只能再来做一个

import struts;

   doGet(request, response) { use struts...}

好了,到了这个时候,大功告成,这里面用了什么秘诀?很简单的,那就是,找到核心需求,逐步添加其他功能。。。

所以,如果一个项目来了,先尝试把核心找出来,然后,在这个核心上,开始轮流加功能吧

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics