前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个软件项目的一生(认证考试)

一个软件项目的一生(认证考试)

作者头像
张果
发布2018-01-04 11:25:01
7440
发布2018-01-04 11:25:01
举报
文章被收录于专栏:软件开发软件开发软件开发

一、概要

1.1、需求

某公司想开发一套学生信息管理系统,现在需要我们开发学生添加和查看功能模块,具体要求如下:

  1. 学生新增时需要提供的信息尽可能简单,以加快新增过程,学生的详细信息可以由其他模块负责获取。
  2. 学生信息需要保存至数据库中,同时数据库和用户数据都需要具有基本的安全保障措施。
  3. 所有用户录入的数据都需要进行数据验证。
  4. 所有用户操作都需要有明确具体的操作反馈。

1.2、语言和环境

  1. 实现语言:Java、JSP、Javascript、HTML
  2. 开发环境:MyEclipse
  3. 数据库系统:SQL Server

二、 实现步骤

2.1、绘制ER图

(1)按照标准绘制实体关系图

(2)可以采用Visio或其他工具完成

2.2、绘制类图与时序图

2.2.1、类图

2.2.2、时序图

2.2.3、编写详细设计说明书

(1)根据用户需求描述,按照标准格式编写详细设计说明书

2.2.4、数据库详细设计

(1)根据实体关系图完成数据表设计

1、启动服务 cmd -> net start mssqlserver

2、使用指处理,新建一个service.bat文件,在中间放入以下内内容:

@echo off
:a
echo 请选择要执行批处理命令:
echo ------------------------------------------------------
echo     1    开启MSSQLServer
echo     2    关闭MSSQLServer
echo     3    开启Oracle
echo     4    关闭Oracle
echo     5    快速关机
echo     6    开启MySQL
echo     7    关闭MySQL
echo     8    开启Redis
echo     9    关闭Redis
echo     a    开启Tomcat
echo     b    关闭Tomcat
echo ------------------------------------------------------
Set/p var1=请输入您要执行的指令:[1/2/3/4/5/6/7/8/9/a/b]
if %var1% ==1 goto C1
if %var1% ==2 goto C2
if %var1% ==3 goto C3
if %var1% ==4 goto C4
if %var1% ==5 goto C5
if %var1% ==6 goto C6
if %var1% ==7 goto C7
if %var1% ==8 goto C8
if %var1% ==9 goto C9
if %var1% ==a goto xa
if %var1% ==b goto xb
echo.
cls
goto a:
echo.
:C1
net Start MSSQLServer /Y
goto EndApp
echo.
:C2
net Stop MSSQLServer /Y
goto EndApp
echo.
:C3
net Start OracleServiceORCL /Y
net Start OracleOraDb11g_home1TNSListener /Y
goto EndApp
echo.
:C4
net stop OracleServiceORCL /Y
net stop OracleOraDb11g_home1TNSListener /Y
goto EndApp
echo.
:C5
shutdown -s -f -t 0
goto EndApp
echo.
:C6
net Start MySQL /Y
goto EndApp
echo.
:C7
net Stop MySQL /Y
goto EndApp
echo.
:C8
net Start redis /Y
goto EndApp
echo.
:C9
net Stop redis /Y
goto EndApp
echo.
:xa
h:
cd H:\InstallFiles\javaKit\apachetomcat7057windowsx64\apachetomcat7057\bin
startup.bat
goto EndApp
echo.
:xb
h:
cd H:\InstallFiles\javaKit\apachetomcat7057windowsx64\apachetomcat7057\bin
shutdown.bat
goto EndApp
echo.
:EndApp
Set/p var3=是否继续操作:[y/n]
If %var3% == y goto a:

3、手动启动

我的电脑->右键->管理->服务->找到SQL Server(MSSQLSERVER)

4、启动数据库管理工具

win+r->ssms命令

5、创建数据库

6、创建表

主键

添加字段

id 编号

name 名称

sex 性别

cno 班级

addr 地址

保存->表名Student

7、添加记录

8、测试

运行SQL

9、导出SQL

2.2.5、完成功能实现

启动MyEclipse

默认快捷键为alt+/,可以修改为其它习惯的快捷键,如tab,tab

新建项目,动态网页项目

填写项目名称,路径

项目创建成功

2.2.6、联署项目

2.2.7、启动Tomcat运行项目

2.2.8、创建实体包

包名:com.zhangguo.studentmis.entities  类名:Sutdent

package com.zhangguo.studentmis.entities;

/** 学生实体 */
public class Student {
    /** 编号 */
    private int id;
    /** 姓名 */
    private String name;
    /** 班级 */
    private String cno;
    /** 性别 */
    private String sex;
    /** 地址 */
    private String addr;

    public int getId() {
        return id;
    }
    //写
    public void setId(int id) {
        this.id = id;
    }
    //读
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCno() {
        return cno;
    }

    public void setCno(String cno) {
        this.cno = cno;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }
}

 2.2.9、创建学生服务,完成数据访问

类名:StudentService 实体名+Service 包名:com.zhangguo.studentmis.dao;

package com.zhangguo.studentmis.dao;

import java.util.List;

import com.zhangguo.studentmis.entities.Student;




/**学生服务类*/
public class StudentService {
    
    public static void main(String[] args) {
        //实例化学生服务对象
        StudentService ss=new StudentService();
        
        Student e=new Student();
        e.setName("张果果");
        e.setCno("S3SU198");
        e.setSex("女");
        e.setAddr("中国深圳");
        ss.add(e);
        
        //获得所有的学生对象,遍历
        for (Student s : ss.getAll()) {
            System.out.println(s.getId()+","+s.getName());
        }
    }
    
    /**查询所有学生信息*/
    public List<Student> getAll(){
        //定义SQL
        String sql="SELECT student.id, student.`name`,student.sex,student.cno,student.addr FROM student";
        //访问数据库并返回数据
        return JDBCUtils.queryForList(sql, Student.class);
    }
    
    /**添加学生信息*/
    public int add(Student s){
        //将执行的添加sql语句,?表示参数
        String sql="INSERT student(name,sex,cno,addr) values(?,?,?,?);";
        //执行sql并指定参数
        return JDBCUtils.update(sql, s.getName(),s.getSex(),s.getCno(),s.getAddr());
    }
    
}

测试结果:

2.2.10、展示学生信息

<%@page import="com.zhangguo.studentmis.dao.StudentService"%>
<%@page import="com.zhangguo.studentmis.entities.Student"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
    //实例化学生服务对象
    StudentService ss = new StudentService();
%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"> 
<base href="<%=basePath%>">
<title>学生信息管理 - 查询</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
    <h2>学生信息管理 - 查询</h2>
    <table width="80%" border="1">
        <tr>
            <th>编号</th>
            <th>姓名</th>
            <th>性别</th>
            <th>班级</th>
            <th>籍贯</th>
        </tr>
        <%for (Student s : ss.getAll()) {%>
        <tr>
            <td><%=s.getId()%></td>
            <td><%=s.getName() %></td>
            <td><%=s.getSex()%></td>
            <td><%=s.getCno()%></td>
            <td><%=s.getAddr()%></td>
        </tr>
        <%}%>
    </table>

</body>
</html>

运行结果:

2.2.11、添加学生信息

add.jsp页面

<%@page import="com.zhangguo.studentmis.entities.Student"%>
<%@page import="com.zhangguo.studentmis.dao.StudentService"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

//请求编码设置为utf-8
request.setCharacterEncoding("utf-8");
//响应编码设置为utf-8
response.setCharacterEncoding("utf-8");

//学生服务
StudentService ss=new StudentService();

//封装学生对象
Student e=new Student();
e.setName(request.getParameter("name"));
e.setCno(request.getParameter("cno"));
e.setSex(request.getParameter("sex"));
e.setAddr(request.getParameter("addr"));

//消息
String m="";

//如果学生对象中存在数据
if(e.getName()!=null)
{
    //执行添加
    ss.add(e);
    m="添加成功";
}
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>学员信息系统 - 添加</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
  <h2>学员信息系统 - 添加</h2>
  
  <form action="" method="post">
  <p>
     <label for="name">姓名:</label>
     <input type="text" id="name" name="name" />
  </p>
  
    <p>
     <label for="sex">性别:</label>
     <input type="text" id="sex" name="sex" />
  </p>
  
    <p>
     <label for="cno">班级:</label>
     <input type="text" id="cno" name="cno" />
  </p>
  
    <p>
     <label for="addr">籍贯:</label>
     <input type="text" id="addr" name="addr" />
  </p>
  
  <button>提交</button>
  <p>
  <%=m %>
  </p>
  </form>
  
  <p>
  <a href="index.jsp">列表</a>
  </p>
  </body>
</html>

运行结果:

(1)      根据不同的平台完成业务逻辑与持久层功能单元测试,并提交测试代码。

(2)      按照标准格式编写详细的测试用例文档

  1. 设计使用svn实现源代码管理

(1)      针对完成的学生信息管理模块提交到svn版本库。

  1. 制作安装包

将开发完成的学生信息管理模块制作成为一个安装包

三、下载与视频

文档下载1

视频教程

svn与JDBC下载:链接: https://pan.baidu.com/s/1kVzCwon 密码: 84k7

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概要
    • 1.1、需求
      • 1.2、语言和环境
      • 二、 实现步骤
        • 2.1、绘制ER图
          • 2.2、绘制类图与时序图
            • 2.2.1、类图
            • 2.2.2、时序图
            • 2.2.3、编写详细设计说明书
            • 2.2.4、数据库详细设计
            • 2.2.5、完成功能实现
            • 2.2.6、联署项目
            • 2.2.7、启动Tomcat运行项目
            • 2.2.8、创建实体包
            •  2.2.9、创建学生服务,完成数据访问
            • 2.2.10、展示学生信息
            • 2.2.11、添加学生信息
        • 三、下载与视频
        相关产品与服务
        云数据库 MySQL
        腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档