`
17studio
  • 浏览: 200065 次
  • 性别: 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...}

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

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

分享到:
评论

相关推荐

    对话框乱弹的小程序源码

    标题中的“对话框乱弹的小程序源码”指的是一个编程项目,它利用MFC(Microsoft Foundation Classes)库在VC++环境中编写,目的是创建一个整人性质的程序。这个小程序一旦运行,用户点击“开始”按钮后,会在Windows...

    《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》-论文.zip

    这篇论文《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》深入探讨了在新媒体环境下,广播娱乐节目如何适应和利用新媒介特性,实现自身内容创新与传播效果的提升。通过对FM101...

    Python-使用fiddler工具进行抓包使用python进行osc乱弹抢沙发

    使用fiddler工具进行抓包,使用python进行osc乱弹抢沙发

    乱弹爱丽丝钢琴曲谱双手数字简谱.pdf

    《乱弹爱丽丝》是一首深受广大音乐爱好者喜爱的钢琴曲,它的简谱版本为演奏者提供了方便,使得无论是初学者还是有一定基础的琴友都能尝试演奏这首曲子。在简谱中,数字代表音高,不同位置的数字对应钢琴键盘上的不同...

    《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.zip

    《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.zip

    免费教程大型网站整理.docx

    1. **中华网-网络教室**:提供操作系统、网站设计、多媒体、软件手册、办公软件、程序设计、网络应用、网络安全和考试认证等方面的教程。 2. **诗雨在线**:专注于Photoshop、Dreamweaver、Fireworks、Flash、Perl...

    《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》.doc

    《浅析新媒介生态环境下广播娱乐节目的编辑特征——以FM101.1西安乱弹“刘翔来了”为例》这篇文档探讨了在新媒体环境下广播娱乐节目编辑的新特点,以陕西地方电台“刘翔来了”为例进行深入分析。广播节目在传统媒介...

    Z-Blog博客系统 2.2 Prism Build 130801

    Z-Blog博客系统是一款很好的一款博客系统,该系统源码比较简单,附件增强:增强附件功能,统计附件下载次数,防盗链等。高级侧栏:加几个新侧栏上去,微信公众平台,Z-Blog连接微信公众平台,静态管理中心,控制...

    免费教程大型网站整理(doc 19页).docx

    1. **中华网-网络教室**:这个网站提供了操作系统、网站设计、多媒体、软件应用、程序设计、网络应用、网络安全以及考试认证等多个领域的教程。特别值得关注的是其Photoshop教学部分,为用户提供详细的学习路径。 2...

    动软代码生成器 修复单类代码生成器4个问题。

    修复单类代码生成器4个问题。 2.新增创建加载数据库时,表名过滤功能。 3.表名生成命名规则,字符串替换功能。 4.模板中字段排序方法公开。 5.字段默认值函数的处理。 6.导出的sql脚本中,单引号 '的问题。...

    into沙龙第期康国庆乱弹传统企业转型以及与互联网结合的方式PPT教案.pptx

    传统企业面临着前所未有的挑战和机遇,如何在变革的大潮中找到自己的位置,实现成功转型并与互联网紧密结合,是当前众多企业家和管理者必须思考的问题。康国庆在into沙龙的分享中,探讨了这一主题,旨在为传统企业...

    Ajax使用杂谈 也许也是乱弹

    1. 避免缓存问题:可以通过添加时间戳参数或者在jQuery中设置`cache:false`来防止缓存。 2. 关注Content-Type设置:不同的Content-Type对应不同的数据格式,如HTML、Text、JSON、XML、Script等。确保客户端和服务器...

    维宏软件Ncstudio_V5.4.55_中文

    1. **集成化界面**:Ncstudio提供了一个直观且用户友好的图形化界面,使得操作者能够方便地进行设计、编程和仿真工作,降低了学习和使用的难度。 2. **CAD/CAM功能**:软件内置了强大的CAD模块,支持常见2D和3D设计...

    优秀资料(2021-2022年收藏)消防安全要素.doc

    5. **学生安全用电和用火管理**:学生用电器需经过审批,定期检查寝室违章电器和劣质电器。寝室禁用明火器具,禁止烧煮饭菜,留学生宿舍应有消防安全规定。严禁使用蜡烛、焚烧纸张,乱扔烟蒂,寝室不得存放易燃易爆...

    VB恶搞程序 对话框不断弹出 关不完的窗口.rar

    在程序设计中,这种不断弹窗的效果通常是通过循环结构和消息对话框函数实现的。 在VB中,`MsgBox`函数用于显示一个带有指定文本、图标和按钮的消息框。这个程序可能是设置了一个无限循环,每次循环都会调用`MsgBox`...

    EXT2.0中文教程

    1. 闪烁吧!看看extjs那些美丽的例子。 1.1. 一切从extjs发布包开始 1.2. 看看ext-1.1.1的文档 1.3. 看看ext-2.0的文档 1.4. 为什么有的例子必须放在服务器上才能看到效果? 1.5. 为什么自己按照例子写的代码,显示...

    _pyHook-1.5.1.win32-py2.7

    进行编译,并嵌入到可执行文件中去pyHook-1.5.1.win32-py2.7

    Python-3.6.0.tar.gz

    1. **新特性:** - **异步IO增强**:Python 3.6引入了`asyncio`库的增强,使得异步编程更加方便。`async/await`关键字的引入使得异步代码更加简洁,类似于同步代码的读写方式。 - **f-string**:这是一个新的字符...

Global site tag (gtag.js) - Google Analytics