一个软件项目的开发主要包括5个阶段:
需求分析阶段、设计阶段、编码阶段、测试阶段、维护阶段。

以航空订票管理系统为例:
1、项目开发团队成员分工
A、负责系统美工、撰写系统设计规划书、用户使用手册;
B、负责需求分析和数据库设计;
C、负责设计航班管理模块;
D、负责设计网点管理模块;
E、负责设计订票管理模块;
F、负责设计系统整体框架、编写参数操作手册,并协调项目中各个模块的进展。
2、项目开发流程:
需求分析、项目规划、搭建数据库、框架设计、各个子模块设计(核心部分:航班管理、网点管理、订票管理)
3、具体设计
(1)需求分析和总体规划
(2)数据库设计:采用hibernate数据库访问技术;使用MySQL数据库;需要5个数据库表,设计工具:powerdesigner。
User:网点信息表;
Flight:航班信息表;
Flight schedular:航班计划信息表;
Planemodel:飞机信息表
Ticketorder:订票信息表
注释:
hibernate是一个开源的对象关系映射(ORM)框架,管理java类到数据库表的映射(ORM:对象关系型数据映射),并提供数据查询获取的方法。Hibernate是对JDBC进行了非常轻量级的对象封装。
将对象和数据库表建立映射关系,Hibernate框架使用在数据持久化层(dao)。
ORM:对象关系映射(英语:Object Relational Mapping)
采用映射元数据(配置文件)来描述对象-关系的映射细节。ORM框架通过配置文件将实体对象和数据库表对应起来。

(3)框架设计
C/S架构:即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现。
创建工程及设计主界面:导入需要的jar包、定义每个主菜单下的子菜单、设计菜单、
配置hibernate访问类:
UserDAO接口:用于对数据库中的表user进行操作,接口中存放操作该表的方法(增删改查);
UserDAOFromHbn接口:用于实现UserDAO接口中的各方法(如修改密码);
FlightDAO接口:用于对数据库中的表flight进行操作(增删改查)
系统登录模块设计
添加LoginFrame类,定义成员变量,用来记录当前登录名和用户类型信息;
LoginFrame类继承JFrame类,JFrame类是Java系统函数中窗体的基类。在登陆窗体中添加三个JLable控件、两个JButton控件、三个JTextField控件;
Init方法是登陆窗体初始化方法,利用setLayout方法进行窗体布局处理;
在addEventHandle方法中增加两个监听器,通过addActionListener监听登陆动作;
(4)航班管理模块
添加飞机信息:类AddPlaneModel,该类继承Java系统的Jdialog类,负责定义窗体需要的各种组件,同时初始化窗体;之后为窗体中的按钮增加相应的监听器;actionPerformed监听器的功能是实现添加操作后具体的数据库操作;
添加航班:类AddFlight,定义组件,包括文本框、Jlabel标签、JButton按钮,分别为“确定”和“取消”按钮增加监听器,调用init方法进行窗体初始化,调用showMe方法进行大小控制;
添加航班计划:类AddFlightPlan,定义组件,包括文本框、Jlabel标签、JButton按钮和JPanel容器等。
查询航班
删除航班
(5)网点管理模块
添加网点:类AddBranch,定义组件,调用init(初始化)和eventHandle(注册事件)方法;为按钮增加监听动作实现方法;
删除网点:类RemoveBranch,调用init(初始化)和eventHandle(注册事件)方法;为按钮增加监听动作实现方法;
(6)订票管理模块
登录管理:在工程中增加登陆类ClientMain,添加组件信息;客户端程序利用socket与服务器端进行通信(首先在服务器端创建Socket服务来监听来自客户端的请求,然后通过newFileInputStream方法加载工程中的端口配置文件);创建Socket实例对象,第一个参数是服务器端IP地址,第二个参数是服务器端的实现接口;建立客户端和服务器端的objectoutputstream输出流和objectinputstream输入流通信过程;增加登陆窗体类;为登录窗体增加组件和监听器。
添加订票:在工程中增加订票类;为按钮增加监听方法
(7)系统测试
对基础数据进行维护;
系统中现在已有部分基础信息,要在多台计算机上安装客户端进行访问、查询;
若查询数据操作和界面表现统一,且在多个客户端进行并发操作成功,则进行大流量访问压力测试;