diff --git a/WebRoot/WEB-INF/jsp/software/firm/firm_edit.jsp b/WebRoot/WEB-INF/jsp/software/firm/firm_edit.jsp
new file mode 100644
index 0000000..f57944d
--- /dev/null
+++ b/WebRoot/WEB-INF/jsp/software/firm/firm_edit.jsp
@@ -0,0 +1,156 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%
+ String path = request.getContextPath();
+ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
+%>
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/top.jsp"%>
+
+
+
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/foot.jsp"%>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebRoot/WEB-INF/jsp/software/firm/firm_list.jsp b/WebRoot/WEB-INF/jsp/software/firm/firm_list.jsp
new file mode 100644
index 0000000..9fd75c4
--- /dev/null
+++ b/WebRoot/WEB-INF/jsp/software/firm/firm_list.jsp
@@ -0,0 +1,361 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%
+ String path = request.getContextPath();
+ String basePath = request.getScheme() + "://"
+ + request.getServerName() + ":" + request.getServerPort()
+ + path + "/";
+%>
+
+
+
+
+
+
+
+<%@ include file="../../system/index/top.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/foot.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebRoot/WEB-INF/jsp/software/firmware/firmware_edit.jsp b/WebRoot/WEB-INF/jsp/software/firmware/firmware_edit.jsp
new file mode 100644
index 0000000..ab283a5
--- /dev/null
+++ b/WebRoot/WEB-INF/jsp/software/firmware/firmware_edit.jsp
@@ -0,0 +1,293 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%
+ String path = request.getContextPath();
+ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
+%>
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/top.jsp"%>
+
+
+
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/foot.jsp"%>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebRoot/WEB-INF/jsp/software/firmware/firmware_list.jsp b/WebRoot/WEB-INF/jsp/software/firmware/firmware_list.jsp
new file mode 100644
index 0000000..a6adc6a
--- /dev/null
+++ b/WebRoot/WEB-INF/jsp/software/firmware/firmware_list.jsp
@@ -0,0 +1,381 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%
+ String path = request.getContextPath();
+ String basePath = request.getScheme() + "://"
+ + request.getServerName() + ":" + request.getServerPort()
+ + path + "/";
+%>
+
+
+
+
+
+
+
+<%@ include file="../../system/index/top.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+ <%@ include file="../../system/index/foot.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WebRoot/WEB-INF/jsp/software/software/software_list.jsp b/WebRoot/WEB-INF/jsp/software/software/software_list.jsp
index 6606c80..33daf8d 100644
--- a/WebRoot/WEB-INF/jsp/software/software/software_list.jsp
+++ b/WebRoot/WEB-INF/jsp/software/software/software_list.jsp
@@ -33,27 +33,6 @@