一个Java程序员的后台软件设计流程

个人见解,如有不足请批评指正。

需求分析 --》 概要设计 --》详细设计 --》编码 --》测试 --》交付 --》验收 --》维护

  1. 了解基本业务需求
  2. 如何定义?(将自己定义成一个黑盒,名字就根据业务自己编一个)
  3. 这个黑盒存在的意义?(脑子让屁憋了?当然是有人需要使用它才有存在的价值)
  4. 谁会用呢?(确定具体用户及用户组,这个要非常清楚,不然没办法继续。换言之,都不知道有没有或者有谁会用,用什么功能,我还做这个干嘛)
  5. 这群呆B需要什么功能呢?(根据用户抽取所有接口)
  6. 抽取之后呢?(内部/外部接口归纳、抽象、整理出一个接口文档)
  7. ========================== 系统边界已明确 ↑ *** 日后如果有需求变动应该是这一环节出了问题
  8. 模块分析,根据接口设计分析一下,需要多少个模块(子系统),可以满足用户的需求
  9. 这些模块(子系统)如何组装成一个整体,之间的层级关系是怎样?(整理出系统架构图,可以画图说明)
  10. 继续分析这些模块(子系统)之间的通信方式(http、https、soap、mq等),以及对外的通信方式
  11. 针对这些通信方式需要有规范,创建通信模型(可以用图说明每种模型)
  12. 数据设计,大致设计即可,无需过细(例如,一份数据对速度要求较高我可以存到内存或redis等非关系型数据库,如果对安全性要求较高我可以存postgresql,如果需要轻量化存储我可以存在sqlite)
  13. 根据已定内容进行框架选取(有的人是先选框架,后设计,这种方法是不可取的)
  14. 还可以完善一部分,测试、性能、部署、容灾 等内容的说明,但是模块分析要做好
  15. ========================== 概要设计已完成↑ *** 概要设计不能过度考虑细节实现和业务流程,这些内容应该在详细设计中进行详细设计和描述,如果多方面掺杂在一起考虑,就不能把一件事做好
  16. 细化概要设计中的业务流程和细节实现,概要设计之后的内容基本就是需要看着能落下代码的内容了
  17. 针对每个模块进行实现的具体设计(可以使用类图或包图进行类描述有哪些功能或已经定义好的方法和依赖关系;使用时序图描述每个类之间的调用关系、调用顺序;使用流程图进行具体流程、分支、异常的描述)
  18. 继续细化流程图,根据流程中使用到的数据类型,选定一些合适的算法进行描述,反之针对一些特殊的场景需要指定一些特定数据结构以满足系统要求
  19. 具体的数据库选定,表结构,字段,关系的描述
  20. 根据模块(子系统)的难度进行工时估算
  21. 说明代码版本管理工具(一般是SVN和Git)
  22. ========================== 详细设计已完成↑ *** 这一步需要详细,可以抠到具体实现逻辑,数据结构,算法等
  23. 码人,开会分赃,讲清楚工作内容,干活,代码评审,功能测试,压力测试,交付
这里边包括:第1章 Java图形用户界面编程 1实例1 布局管理 2实例2 设计软件启动界面 9实例3 实现多色窗口 11实例4 切分窗口 13实例5 丰富多彩的按钮 15实例6 在窗口中显示背景图 16实例7 在窗体中绘制图形 18实例8 利用JNI实现窗口特效 20实例9 文件选择对话框 24实例10 改变字体 26实例11 应用JTree 28实例12 应用JTable 30实例13 记事本 32实例14 使用JTextPane 36实例15 实现多文档视图 37实例16 使用进度条 39实例17 使用工具提示 42实例18 不同界面的风格 43第2章 Java的二维和三维图形处理 45实例19 颜色处理 46实例20 合成效果 47实例21 多种字体效果 49实例22 合成两个图片 53实例23 实现多种线形 58实例24 混合效果 62实例25 纹理与色彩处理 63实例26 实现填充效果 66实例27 变形与转换处理 67实例28 绘制弧线 69实例29 剪裁效果 74实例30 跳动的文字特效 78实例31 火焰与水纹特效 82实例32 盖房子特效 91实例33 旋转的方块特效 95实例34 光照效果特效 103第3章 Java输入/输出编程 109实例35 读取文件 110实例36 写入文件 111实例37 压缩文件 112实例38 打印文本文件 114实例39 读取配置文件 115实例40 流操作 117实例41 管道操作 118实例42 标准I/O重定向 121实例43 文件过滤器 122实例44 获取文件信息 123第4章 Java网络编程 125实例45 选择字体 126实例46 UDP与TCP/IP的简单应用 129实例47 聊天室 131实例48 浏览FTP 136实例49 局域网广播 147实例50 建立HTTP连接 151实例51 迷你浏览器 152实例52 扫描应用端口 154实例53 监控HTTP 155实例54 收发电子邮件 156实例55 一个简单的代理服务器 164实例56 扫描网站信息 173实例57 远程方法调用 174实例58 调用JINI方法 176第5章 Java数据库编程 179实例59 应用JDBC-ODBC桥 180实例60 使用单独JDBC连接驱动程序 184实例61 数据库基本操作 185实例62 使用游标 189实例63 使用事务 191实例64 实现SQL语句的检索功能 192实例65 SQL嵌套检索 194实例66 获取数据库基本信息 195第6章 Java C/S结构编程 197实例67 实现C/S多线程 198实例68 客户端程序 200实例69 服务器端程序 201实例70 C/S结构聊天室 203实例71 基于C/S的小游戏 209实例72 应用C/S数据库 237实例73 实现客户端程序 242实例74 实现一个简单的代理服务器 246实例75 C/S结构的分布式运算 248第7章 Java B/S结构编程 253实例76 简单的Servlet程序 254实例77 简单的留言簿 256实例78 JSP+Java Bean的计数器 258实例79 数据库查询 260实例80 文件的上传下载 262实例81 收发E-mail 267实例82 B/S结构的聊天室 269实例83 网上选课 276实例84 B/S结构的商业应用——购物车 282实例85 通过JSP调用Applet程序 285实例86 JSP与XML的结合 288第8章 Java安全控制编程 291实例87 控制访问权限 292实例88 产生密钥 296实例89 单钥加解密 299实例90 双钥加解密 301实例91 数字签名 303实例92 实现SSL协议 306实例93 简单的HTTPS服务 314第9章 Java Web Service编程 319实例94 使用DOM的层次模型 320实例95 使用SAX事件模型 324实例96 JAXP编程 327实例97 JDOM编程 331实例98 简单的SOAP应用 336实例99 访问SOAP RPC服务 339实例100 SOAP消息编程 342实例101 构建SOAP Script服务 347实例102 应用SOAP EJB Bean服务 354实例103 部署SOAP COM服务 358实例104 查询UDDI信息 364第10章 Java 2 Platform Enterprise Edition编程 367实例105 构建简单的EJB 368实例106 无状态会话Bean编程 371实例107 简单的累加器 374实例108 简单Bean管理的实体 377实例109 创建CMP EntityBean 386实例110 编写MessageDrivenBean 392实例111 使用JNDI 396实例112 各种EJB之间的调用过程 397实例113 使用B/S结构的EJB 402实例114 使用C/S结构的EJB组件服务 405实例115 与时间有关的函数 407实例116 EJB与UML的对应关系 412实例117 C/S结构的RMI-IIOP应用 414实例118 使用JTA与JTS 417实例119 Request-Reply模式的JMS应用 421实例120 使用Java IDL 426实例121 EJB与CORBA的交互 430实例122 基于EJB的真实世界模型 433实例123 EJB的商业应用——定购单 447第11章 Java 2 Platform Micro Edition编程 475实例124 插入和替换表单元素 476实例125 使用线程与定时 478实例126 J2ME绘图 480实例127 基于J2ME的小游戏 483实例128 建立无线HTTP连接 485实例129 收发短信 487实例130 获取基金报价 490第12章 JNI编程 493实例131 简单的JNI调用 494实例132 调用Windows API 495实例133 通过JNI运行OpenGL动画 496实例134 JNI与COM之间的调用 500实例135 隐藏Java控制台 502实例136 监控内存 505实例137 获取本机的Mac地址 508实例138 获取Java系统信息 509实例139 控制Java与C++程序的通信 510实例140 访问Windows注册表 514第13章 Java配置与集成 523实例141 J2SDK的安装配置 524实例142 使用第三方包 525实例143 安装配置Tomcat 526实例144 安装配置Apache 528实例145 安装配置WebLogic 529实例146 整合Tomcat与IIS 531实例147 整合Tomcat与Apache 532实例148 整合JBuilder与WebLocig 533实例149 安装、编译和执行一个MIDlet 535实例150 构造Jsp/javabean开发和发布环境 537 还包括第1章 记忆测试软件1.1. 设计内容1.2. 设计要求1.3. 总体设计1.4. 具体设计1.4.1. 运行效果与程序发布1.4.2. 主类Memory1.4.3. 方块 Block1.4.4. 记忆测试板MemoryTestPane1.4.5. 显示成绩 ShowRecord1.4.6. 记录成绩 Record1.4.7. 随机排列图标 RandomSetIcon1.4.8. 测试者 People1.5. 课程设计作业第2章 计算器2.1. 设计内容2.2. 设计要求2.3. 总体设计2.4. 具体设计2.4.1. 运行效果与程序发布2.4.2. 主类 ComputerPad2.4.3. 数值按钮NumberButton2.4.4. 运算符号按钮OperationButton2.5. 课程设计作业第3章 HANNOI-塔3.1. 设计内容3.2. 设计要求3.3. 总体设计3.4. 具体设计3.4.1. 运行效果与程序发布3.4.2. 主类 Tower3.4.3. Hannoi-塔 HannoiTower3.4.4. 塔点 TowerPoint3.4.5. 盘子 Disk3.5. 课程设计作业第4章 JPEG图象生成器4.1. 设计内容4.2. 设计要求4.3. 总体设计4.4. 具体设计4.4.1. 运行效果与程序发布4.4.2. 主类 MakeJPEG.java4.5. 课程设计作业第5章 标准化考试系统 (单机版)5.1. 设计内容5.2. 设计要求5.3. 总体设计5.4. 具体设计5.4.1. 运行效果与程序发布5.4.2. 主类EnglishTest5.4.3. 考试区域TestArea5.4.4. 读取试题 ReadTestquestion5.5. 课程设计作业第6章 标准化考试系统 (C/S网络版)6.1. 设计内容6.2. 设计要求6.3. 总体设计6.4. 具体设计6.4.1. 运行效果与程序发布6.4.2. 客户端主类Client6.4.3. 客户端选择试题界面ChoiceFile6.4.4. 客户端考试界面ClientTestArea6.4.5. 服务器端主类Server6.4.6. 服务器端读取试题 ReadTestquestion6.5. 课程设计作业第7章 标准化考试系统 (B/S网络版)7.1. 设计内容7.2. 设计要求7.3. 总体设计7.4. 具体设计7.4.1. 运行效果与程序发布7.4.2. 客户端主类ClientBS7.4.3. 客户端选择试题界面ChoiceFile7.4.4. 客户端考试界面ClientTestArea7.4.5. 服务器端主类Server7.4.6. 服务器端读取试题 ReadTestquestion7.5. 课程设计作业第8章 日历记事本8.1. 设计内容8.2. 设计要求8.3. 总体设计8.4. 具体设计8.4.1. 运行效果与程序发布8.4.2. 主类CalendarPad8.4.3. 记事本NotePad8.4.4. 年Year8.4.5. 月Month8.5. 课程设计作业18.6. 课程设计作业2第9章 学籍管理系统9.1. 设计内容9.2. 设计要求9.3. 总体设计9.4. 具体设计9.4.1. 运行效果与程序发布9.4.2. 主类StudentManager9.4.3. 录入界面StudentSituation9.4.4. 查询界面Inquest9.4.5. 修改界面ModifySituation9.4.6. 删除界面Delete9.4.7. 学生对象Student9.5. 课程设计作业第10章 图书查询系统 (B/S网络版)10.1. 设计内容10.2. 设计要求10.3. 总体设计10.4. 具体设计10.4.1. 运行效果与程序发布10.4.2. 客户端主类DatabaseClient10.4.3. 服务器端主类DatabaseServer10.5. 课程设计作业第11章 中国象棋打谱软件11.1. 设计内容11.2. 设计要求11.3. 总体设计11.4. 具体设计11.4.1. 运行效果与程序发布11.4.2. 主类 Chess11.4.3. 对弈棋盘ChessBoard11.4.4. 棋子ChessPiece11.4.5. 棋点 ChessPoint11.4.6. 走棋法则Rule11.4.7. 步骤MoveStep11.4.8. 记录棋谱MakeChessManual11.4.9. 棋谱演示Demon11.5. 课程设计作业111.6. 课程设计作业2第12章 魔板游戏12.1. 设计内容12.2. 设计要求12.3. 总体设计12.4. 具体设计12.4.1. 运行效果与程序发布12.4.2. 主类PuzzleFrame12.4.3. 魔板PuzzlePad12.4.4. 魔板中的点SquarePoint12.5. 课程设计作业第13章 挖雷游戏13.1. 设计内容13.2. 设计要求13.3. 总体设计13.4. 具体设计13.4.1. 运行效果与程序发布13.4.2. 主类Game13.4.3. 方块 Block13.4.4. 雷区 MineSquare13.4.5. 雷标数目 FindAroundMineMarkNumber13.4.6. 雷标判断 DetermineMineMarkIsRightOrWrong13.4.7. 成片挖开区域 DetermineDigArea13.4.8. 无雷连通区 FindSafeArea13.4.9. 随机布雷 RandomSetMine13.4.10. 周围地雷个数FindAroundMineNumber13.4.11. 显示剩余雷数CountMine13.4.12. 计时器TimeCount13.4.13. 英雄榜录入对话框Record13.4.14. 显示英雄榜对话框ShowRecord13.4.15. 挖雷成功DecideWinner13.5. 课程设计作业第14章 网络聊天室 (B/S模式)14.1. 设计内容14.2. 设计要求14.3. 总体设计14.4. 具体设计14.4.1. 运行效果与程序发布14.4.2. 客户端主类ClientChat14.4.3. 客户端输入妮称界面InputNameTextField14.4.4. 客户端聊天界面ChatArea14.4.5. 服务器端主类ChatServer14.5. 课程设计作业第15章 局域网络广播系统15.1. 设计内容15.2. 设计要求15.3. 总体设计15.4. 具体设计15.4.1. 运行效果与程序发布15.4.2. 客户端主类Receive15.4.3. 服务器端主类BroadCastWord15.5. 课程设计作业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值