ssm+mysql+SSM 프레임워크 기반의 구조 자재 관리 및 배포 시스템의 설계 및 구현 졸업 프로젝트 - 소스 코드 291141 포함

구조물자 관리 및 유통시스템

요약

과학 기술의 급속한 발전은 사람들의 일상 생활에 큰 변화를 가져왔으며 전자 정보 기술의 급속한 발전은 다양한 분야에서 전자 정보 기술의 응용 수준을 대중화하고 응용하게 만들었습니다. 정보화 시대의 도래는 거부할 수 없는 패션 트렌드가 되었고 인류 발전의 역사는 새로운 시대로 접어들고 있습니다. 실제 적용에서는 소프트웨어의 작업 규칙 및 개발 단계가 적용되며 SSM 프레임워크를 사용하여 구조 자재 관리 및 배포 시스템이 구축됩니다.

이 설계는 주로 인간화, 고효율, 편의성의 장점을 통합한 구조물 관리 및 유통 시스템을 구현하고 직원 관리, 구조물 관리, 구조물 보관 관리, 보관 관리, 배송 관리 및 구조물 재고 관리를 완료합니다. , 공급업체 관리, 부서 관리, 블랙리스트 관리 및 기타 기능 모듈. 시스템은 브라우저를 통해 서버와 통신하여 데이터 상호 작용 및 변경을 실현합니다. 과학적인 관리 방법과 편리한 서비스를 통해 업무 효율성을 높이고 데이터 저장의 오류와 누락을 줄여주는 시스템입니다. 구조 및 구호 물자 관리 및 분배 시스템은 Eclipse 2017 CI 10 컴파일러로 작성된 MVC 모델 기반의 SSM 기술을 사용하여 개발되었으며, 데이터는 주로 Microsoft의 MySQL 관계형 데이터베이스를 데이터 저장 매체로 사용하고 전방과 협력합니다. -끝 HTML+CSS 기술 완전한 시스템 개발.

핵심어: 구조물자 관리 및 유통, 관계형 데이터베이스, 데이터 저장

구조물자 관리 및 유통시스템

추상적인

과학 기술 진보의 급속한 발전은 사람들의 일상 생활에 큰 변화를 가져 왔습니다. 전자정보기술의 비약적인 발전은 전자정보기술의 응용 수준을 대중화시켜 다양한 분야에 응용하고 있다. 정보화 시대의 도래는 거부할 수 없는 패션 트렌드가 되었고 인류 발전의 역사는 새로운 시대로 접어들고 있습니다. 실제 적용에서는 소프트웨어의 작업 규칙 및 개발 단계가 적용되고 SSM 프레임워크는 구조 자재 관리 및 배포 시스템을 구축하는 데 사용됩니다.

이 디자인은 주로 인간화, 고효율 및 편의성의 장점을 통합하는 구조 자재 관리 및 유통 시스템을 구현하고 직원 관리, 구조 자재 관리, 자재 창고 관리, 아웃 바운드 관리, 배송 관리, 자재 재고 관리와 같은 기능 모듈을 완성합니다. 제조업체 관리, 부서 관리, 블랙리스트 관리 등. 시스템은 브라우저를 통해 서버와 통신하여 데이터 상호 작용 및 변경을 실현합니다. 과학적인 관리와 편리한 서비스를 통해 업무 효율성을 높이고 데이터 저장의 오류와 누락을 줄이는 시스템입니다. 구호물자 관리 및 분배 시스템은 MVC 모드 기반의 SSM 기술을 사용하여 개발되었으며 eclipse 2017 CI 10 컴파일러로 작성되었습니다. 데이터 측면에서,

주제어 :구조물자 관리 및 배급; 관계형 데이터베이스; 데이터가 저장됩니다

목차

1 장 소개

1.1  연구 배경 및 의의

1.2 국내외 발전현황 

1.3  본 논문의 구성 구조

2장 관련 기술 소개

2.1 개발 기술

2.2 SSM 프레임워크

2.3 MySQL 데이터베이스

2.4 B/S 구조

2.5 B/S 시스템의 작동원리

제3장 시스템 분석

3.1  타당성 분석

3.1.1  기술적 타당성 분석

3.1.2  경제성 분석

3.1.3  운영 타당성 분석

3.2  기능 요구사항 분석

3.3  비기능적 요구사항 분석

3.4  데이터 흐름 분석

4장 시스템 설계

4.1  시스템 아키텍처 설계

4.2  시스템 기능 구조

4.3  기능 모듈 설계

4.4  양식 필드 유효성 검사 처리 설계

4.5  시스템 유지보수 설계

4.6  데이터베이스 설계

4.6.1  개념적 모델

4.6.2  관계형 모델

4.6.3  데이터 시트

제5장 시스템 구현 1 8

5.1  로그인 모듈 구현 1 8

5.2  사용자 서브시스템 모듈 구현 1 9

5.2.1  사용자 홈페이지 모듈 1 9

5.2.2 자재 창고 모듈 2  0

5.2.3 재료 전달 모듈 2  2

5.3  관리자 서브시스템 모듈 구현 2 3

5.3.1  직원 관리 모듈 2 4

5.3.2  개인 데이터 관리 모듈 2 5

5.3.3 직원 감지 관리 모듈 2  7

5.3.4 사용자 관리 모듈 2  9

5.3.5 자재 배송 관리 모듈 3  0

5.4  페이징 모듈 구현 3 1

6장 시스템 테스트 3 2

6.1  테스트 목적 3 3

6.2  테스트 프로세스 3 4

6.3  테스트 결과 3 4

제7장 요약 및 전망 4 5

참고 문헌 3 6

감사의 말 3 7

  1. 소개
    1. 연구배경과 의미

인류 역사의 발전과 함께 인류 사회는 수천 년의 역사를 겪었으며, 이 수천 년 동안 다양한 요인의 영향으로 인해 다양한 공공 비상 사태가 계속해서 나타나며 죽을 때까지 순환 발전 과정입니다. 이른바 공공 비상사태에는 각종 자연재해, 질병 갈등 등 자연적으로 발생하는 것도 많고, 국가적 혼란, 민족 갈등 등 인위적인 것도 많다. 특히, 서구 국가들의 산업혁명의 발발은 사회적 산업기술의 비약적인 발전으로 이어져 교통사고, 기술사고, 환경사고, 의료사고, 테러 등의 공공 비상사태가 더 많이 발생하고 있다. 사회가 아무리 발전해도 비상사태는 피할 수 없기 때문에 비상사태에 대한 경각심을 높이고 비상사태에 대비해야 합니다.

현재 우리나라의 근대화 추진은 새로운 단계에 접어들고 있으며 국가의 정책 개혁과 경제 발전은 민감한 시기에 처해 있으며 이 민감한 시기에 국가와 사회, 국민의 공공 안전에 영향을 미치는 요인들이 점차 증가하고 있으며, 다양한 비상 사태에 공개 행사가 수시로 발생합니다. 첨단 정보기술과 응용시스템을 어떻게 활용하여 우리나라의 비상사태 관리 및 조율능력, 비상대응능력, 사건처리 효율성을 향상시킬 수 있는지 현재의 구조물자관리시스템에 존재하는 문제점을 분석하여 개념과 결합하여, 경영시스템의 구조 및 기본원리와 시스템 개발방법, 빠른 연산속도, 대용량 정보저장, 강력한 논리적 문제처리를 가진 컴퓨터를 이용하여 강력한 기능의 장점을 B/S 구조를 이용하여 개발하여 구호물품 기본정보, 구호물품 입출고정보, 구호물품 재고정보, 제조사 등 관리요구 정보조회 및 수정 등의 관리요구에서 시작하여 타당성이 강하고 비교적 완전한 기본 응용기능을 보유하고 있으며, 본 시스템을 통해 구호물자 관리 및 유통의 정보화 및 네트워크화를 실현하여 관리의 효율성을 향상시키는 것을 목표로 합니다. 그리고 구호물자 배급.

    1. 국내외 발전현황

미국, 독일 등 일부 서구 선진국에서는 재난구호에서 파생된 재난구호물류시스템이 급속히 발전하고 있으며 그 발전속도는 기본적으로 기업물류와 같다. 재난구호물류에서도 상업물류분리, 제3자물류, 관통형창고, 공급망관리 등의 선진물류개념을 적용하여 재난구호물류시스템을 매우 건전하게 만들고 있으며, 비상사태 발생 후 정부가 운반할 수 있는 시의적절하고 신속한 구조 활동을 통해 재난 피해 지역에 다양한 구호 물자를 신속하게 보내 긴급 상황으로 인한 피해를 효과적으로 줄입니다. 수십 년간의 연구와 구축을 거쳐 기존의 대외 구호 물류 시스템은 실시간 단계적 관리로 발전하여 재난 상황에 따라 표적 구호 활동을 수행하게 되었다. 가장 큰 피해를 입은 지역이 경재해 지역에 구호물자를 무작정 공급하지 않고, 재난구호물품의 안정적 공급을 바탕으로 구호물자 혜택을 극대화하는 목표를 달성했습니다.

공공 비상 사태를 더 잘 예방하고 대응하기 위해 미국은 수년간의 연구와 노력 끝에 매우 완전한 국가 재난 비상 계획을 수립했습니다.지진, 허리케인, 화산 폭발, 홍수와 쓰나미 등이 발생하면 정부는 긴급 상황에 대처하기 위해 비상 사태에 돌입하고 재난 지역에서 구조 작업을 수행하기 위해 비상 계획을 시작합니다. 모든 재난 구호 및 처리 업무는 "연방"의 전적인 책임하에 있습니다. 비상관리청". 또한 미국의 정보 기술이 매우 발달되어 있기 때문에 재해 예방 및 구호 작업을 수행할 때 첨단 첨단 정보 기술을 사용하고 사전에 여러 예방 및 모의 훈련을 실시하며 다양한 상황에 따라 계획을 수립합니다. 도시 인구 밀도 적절한 예방 및 재해 구호 방법. 모든 도시는 치안조직체계를 구축하고 있으며, 재난이 없을 때에는 경찰과 협력하여 도시의 치안을 공동으로 관리하는 치안조직체계이며, 대형재해 발생 시 신속히 긴급재난구조체계로 전환하여 연방 비상 사태와 협력 재난 관리국은 재난 후 처리 작업을 수행합니다. 재난 발생 후 가장 중요한 업무는 긴급구호물자 수송 및 보급이므로 연방재난관리청에는 특별물류관리반이 있으며, 이 부대의 주된 업무는 일상적인 재난에 대한 책임을 지는 것이다. 구호물자 관리업무, 재난별 긴급구호물자 수요예측, 긴급구호물자 수송 및 유통경로 계획 등 재난 상황 발생 시 물류 관리 단위는 신속하게 비상 상태로 전환할 수 있으며 재난 정보 및 재난 지역의 요구 사항에 따라 재난 구호 물자를 배포 및 배포할 수 있습니다.

지리적인 이유로 우리나라는 세계에서 자연재해가 가장 많은 나라 중 하나인데, 자연재해의 종류가 많을 뿐만 아니라 발생 빈도도 많아 기본적으로 매년 발생합니다. 우리나라에서 흔히 발생하는 자연재해로는 가뭄, 홍수, 태풍, 지진, 설재해, 산사태, 산불 등이 있습니다. 국가와 지역은 물론 국민의 생명과 재산에 막대한 손실을 입혔습니다.

우리나라의 경우 성급 성도의 약 74%, 현급 이상의 도시의 62%가 지리적으로 지진 위험이 높은 지역에 위치하고 있습니다. 대도시의 70% 이상이 분포하고 인구의 50% 이상이 분포합니다. 최근 몇 년간 기후상의 이유로 자연재해가 빈번하게 발생하고 우리 나라의 재해지역과 사상자가 증가하고 있으며 국가경제의 비약적인 발전과 함께 산업생산과 농업생산의 규모가 지속적으로 증가하고 있다. 도시 인구가 지속적으로 증가하고 있으며 이러한 요소는 매우 중요하며 자연 재해로 인한 손실이 크게 증가했습니다. 대상의 배경과 의의 분석을 통해 구호물자 관리 및 배급체계 구축이 매우 필요함을 알 수 있다.

    1. 이 기사의 구성

첫 번째 장은 소개, 이 기사의 시작 부분, 이 주제의 연구 배경 및 연구 중요성에 대한 텍스트 설명입니다.

두 번째 장에서는 자재 관리 및 유통 시스템에 사용되는 개발 기술과 도구를 연구합니다.

세 번째 장은 시스템 분석 부분으로 시스템의 전반적인 요구사항에 대한 설명, 기능적 관점에서 시스템 요구사항 분석, 시스템 구현 가능 여부에 대한 비기능 분석을 포함한다.

네 번째 장은 이 기사의 중요한 부분인 시스템 설계 부분으로 시스템 아키텍처의 세부 설계와 일부 주요 기능 모듈의 설계 설명을 제공합니다.

다섯 번째 장은 시스템의 특정 구현으로 시스템의 각 모듈의 특정 구현을 소개합니다.

여섯 번째 장에서는 이전 장을 기반으로 시스템을 테스트하고 실행합니다.

마지막으로 시스템을 진지하게 정리하여 미래에 대한 새로운 전망을 제시합니다.

  1. 관련 기술 소개
    1. 개발 기술:

시스템의 Front-end 부분은 B/S 모델을 사용하여 MVVM 모델을 기반으로 개발되었으며, Back-end 부분은 Java ssm 프레임워크를 기반으로 개발되었습니다.

프런트 엔드 부분: 프런트 엔드 프레임워크는 널리 사용되는 점진적 JavaScript 프레임워크인 Vue.js를 채택합니다. Vue-Router 및 Vuex를 사용하여 동적 라우팅 및 글로벌 상태 관리를 달성하고, Ajax를 사용하여 프런트 엔드 및 백엔드 통신을 달성하고, 요소 UI 구성 요소 라이브러리를 사용하여 페이지를 신속하게 프로토타입으로 만들고, 프로젝트의 프런트 엔드가 그리드를 통해 응답성을 실현합니다. PC, 태블릿, 모바일 등에 적용할 수 있는 레이아웃. 다양한 화면 크기에 맞는 완벽한 레이아웃 디스플레이.

백엔드 부분: ssm을 개발 프레임워크로 사용하고 MyBatis, Redis 및 기타 관련 기술을 동시에 통합합니다.

    1. 모델SSM 프레임워크:

SSM은 SpringMVVM+Spring+MySQL로, 이 세가지 프레임워크는 각각의 고유한 장점이 있어 함께 결합하면 강력한 스파크를 만들 수 있습니다. 디자이너는 많은 노력을 들이지 않고 웹 응용 프로그램을 만들 수 있으며 이 프로그램은 계층 구조가 명확하고 업그레이드 및 업데이트 작업이 정상적인 사용에 영향을 미치지 않으며 다중 사용이 가능하다는 특징이 있습니다. 이 복합 프레임워크는 완전한 구조, 강력한 기능 및 좋은 구조를 가진 시스템을 형성합니다: SpringMVVM은 각 판을 분리하고, Spring은 개발을 보다 유연하고 편리하게 하며, 개발자가 직접 개체를 조작할 수 있도록 하고, 각 수준에서 노동 세부 사항을 분할하고, 각 수준을 구현합니다. . 디커플링은 코드를 보다 유연하고 능률적으로 만듭니다. 이 프레임워크를 통해 프로그래머는 개발 기간 동안 전체의 파괴로 이어지는 개인의 실수를 방지할 수 있으며, 후기 단계에서 제품에 대한 고객의 새로운 요구 사항에 대응할 수 있습니다.

2.3 MySQL 데이터베이스

과학 기술의 발전은 일상 생활에 많은 편의를 가져왔습니다. 교실 프로젝터는 가상 이미징 기술을 사용하고 디지털 카메라는 광전 감지 기술을 사용합니다. 예를 들어 슈퍼마켓의 창고에 들어오고 나가는 상품 기록에는 정보 창고가 필요합니다. 이 정보 창고는 데이터베이스이며 이번에는 슈퍼마켓 제품 관리 시스템에도 이 기술의 지원이 필요합니다.

MySQL 소프트웨어를 사용하는 이유는 여러 사용자가 액세스할 수 있고 아카이브 등이 있기 때문입니다. 먼저 데이터를 분류한 후 별도로 테이블에 저장하며, 이러한 특수 작업은 데이터 관리 시스템 자체의 속도를 향상시켜 데이터베이스를 유연하게 사용할 수 있도록 합니다. MySQL의 코드는 공개되어 있으며 다른 사람들이 두 번 컴파일하고 업그레이드할 수 있습니다. 이 기능은 사용자의 비용을 절감할 수 있으며 적합한 소프트웨어와 매칭하여 좋은 웹사이트 시스템을 형성할 수 있습니다. 단점이 있지만 모든 측면에서 사용자의 주류 응용 프로그램 개체입니다.

2.4 B/S 구조

B/S(Browser/Server)는 이전 아키텍처보다 편리한 아키텍처입니다. 웹 서버를 사용하여 데이터 전송 및 교환을 완료합니다. 브라우저를 클라이언트로 다운로드하기만 하면 작업이 "슬리밍" 효과를 얻을 수 있으며 소프트웨어의 논스톱 설치 문제를 고려할 필요가 없습니다. 

2.5 B/S 시스템 작동 원리:

B/S 아키텍처는 브라우저 요청 및 서버 응답의 작업 모드를 채택합니다.

사용자는 브라우저를 통해 인터넷의 웹 서버에서 생성된 텍스트, 데이터, 사진, 애니메이션, 주문형 비디오 및 사운드와 같은 정보에 액세스할 수 있습니다.

그리고 각 웹 서버는 다양한 방식으로 데이터베이스 서버와 연결될 수 있으며 실제로 많은 양의 데이터가 데이터베이스 서버에 저장됩니다.

서버 에서 프로그램을 다운로드하여 로컬에서 실행하고, 다운로드 과정에서 데이터베이스 관련 명령어를 만나면 웹 서버는 해석 및 실행을 위해 데이터베이스 서버로 넘겨주고 웹 서버로 반환합니다. 웹 서버는 이를 사용자에게 반환합니다. 이러한 구조에서 많은 네트워크가 함께 연결되어 거대한 네트워크, 즉 글로벌 네트워크를 형성합니다. 각 기업은 이러한 구조를 기반으로 자체 인터넷을 구축할 수 있습니다.

B/S 모드에서 사용자는 브라우저를 통해 네트워크 상에 분산된 여러 서버에 대한 접근을 요청하고 브라우저의 요청은 서버에서 처리되며 처리 결과 및 해당 정보는 브라우저로 반환됩니다 기타 데이터 처리 및 요청은 모두 웹 서버에 의해 완료됩니다. 프레임 구조와 운영 체제에 내장된 브라우저를 통해 이 구조는 오늘날 소프트웨어 응용 프로그램의 주류 구조 모드가 되었습니다.

                                           

  1. 시스템 분석
    1. 타당성 분석

어떤 시스템을 개발하려면 타당성을 분석하고 시간과 자원의 제약을 고려해야 시스템 개발의 위험을 줄일 수 있습니다. 동시에 분석 후 인력을 합리적으로 사용할 수 있을 뿐만 아니라 다양한 자원의 소비를 절약할 수 있습니다. 기술, 경제 및 사회의 다음 세 가지 측면이 소개됩니다.

      1. 기술적 타당성 분석

이른바 기술적 타당성이란 초기 단계에서 계획된 기능이 제한된 시간 내에 충족될 수 있는지 여부를 말합니다. 개발 및 설계에서 해결할 수 없는 문제가 있는지 여부. 완성된 프로젝트가 잘 적용될 수 있는지, 미흡한 부분이 있는지, 추후 유지보수에 큰 어려움이 있는지. 시스템을 평가한 후 기존 기술이 목표를 달성할 수 있다고 판단되었습니다. JSP 기술을 사용하여 동적 페이지를 구현하고 종속성이 낮은 디자인 패턴, 유연한 데이터베이스 및 안정적인 서버를 내장하여 전체 시스템의 운영 효율성을 크게 향상시킵니다. 기술적인 수준에서 목표를 달성하는 것은 말도 안되는 일이 아니라는 것을 알 수 있습니다.

      1. 경제성 분석

프로젝트에 사용되는 대부분의 도구는 현재 대중적인 오픈 소스이며 무료이므로 개발 초기 단계에서 프로젝트에 사용되는 자금이 크게 줄어들고 소프트웨어 개발은 ​​자금의 영향을 받지 않습니다. 프로젝트 시작 기간이므로 여전히 경제적으로 실현 가능합니다. 사용자의 요구를 충족시키기 위해 최소한의 비용을 사용하십시오. 인건비 및 장비 비용을 위한 자금을 절약하십시오. 페이퍼리스(Paperless)와 고효율(High Efficiency)의 길을 더욱 더 나아가게 될 것입니다.

      1. 운영 타당성 분석

기능을 구현하는 이 시스템의 작동은 매우 간단합니다.일반 컴퓨터의 일반적인 구성으로 이 소프트웨어를 실행할 수 있으며 컴퓨터 사용의 기본 상식을 대략적으로 이해하는 한 이 소프트웨어를 원활하게 사용할 수 있습니다. 컴퓨터는 인터넷에 접속할 수 있는 능력이 있고 정상적으로 시스템에 접근할 수 있다.운영자가 뛰어난 능력을 필요로 하지 않는다.비즈니스 프로세스를 이해하고 전문 지식에 따라 올바르게 작동하기만 하면 된다.따라서 슈퍼마켓 제품은 관리 시스템이 가능합니다.

    1. 기능적 요구사항 분석

시스템 개발 및 설계 전에 기능에 대한 예비 아이디어를 만들고 관리 시스템에 어떤 섹션이 있는지, 각 섹션에 어떤 기능이 있는지, 전체 설계가 사용자의 요구를 충족하는지 여부를 파악한 다음 자세한 분석 및 요약을 수행해야 합니다. 개발된 시스템 기능의 완전한 시스템을 설계하고 구현합니다. 사용자와 개발자의 의사 소통 분석을 통해 최상의 이해를 달성하고 시스템 기능을 최고로 만듭니다.

직원 사용 사례 다이어그램은 다음과 같습니다.

그림 3-1 직원 사용 사례 다이어그램

관리자 사용 사례 다이어그램은 다음과 같습니다.

그림 3-2 관리자 사용 사례 다이어그램

유스 케이스 설명은 유스 케이스 다이어그램의 각 기능 모듈에 대한 최상의 이해 및 요구 사항 설명에 대한 텍스트 설명입니다. 유스 케이스 설명은 다음과 같습니다.

표 3-1 로그인 설명

설명 항목

설명하다

사용 사례 이름

로그인

사용 사례 설명

사용자가 올바른 사용자 이름과 암호를 입력해야만 시스템에 로그인하고 후속 작업을 계속할 수 있습니다.

참가자

사용자

전제 조건

사용자가 URL을 올바르게 입력합니다.

후조건

사용자가 성공적으로 로그인하고 기본 인터페이스로 이동합니다.

메인 이벤트 흐름

사용자는 해당 사용자 이름과 암호를 입력합니다.

사용자 이름이 존재하지 않는 경우 등록해야 합니다.

비밀번호나 아이디가 틀릴 경우 로그인 실패

입력한 사용자 이름과 암호가 정확하면 플랫폼의 기본 인터페이스로 들어갑니다.

비정상적인 이벤트 흐름

e1.네트워크 이상

e2. 데이터베이스 연결 예외

표 3-2 직원 관리 설명

설명 항목

설명하다

사용 사례 이름

직원 운영

사용 사례 설명

관리자가 백그라운드 관리에 올바르게 로그인한 상태에서 직원 관리

참가자

관리자

전제 조건

관리자가 성공적으로 로그인하고 백그라운드 기본 인터페이스로 이동합니다.

후조건

성공적인 작업

메인 이벤트 흐름

관리자는 직원 관리 페이지로 이동하여 직원의 세부 정보를 조회합니다.

관리자는 직원 정보를 삭제할 수 있습니다.

비정상적인 이벤트 흐름

e1. 500 오류 보고

e2. 데이터베이스 연결 예외

표 3-3 자재 관리 설명

설명 항목

설명하다

사용 사례 이름

자재 취급

사용 사례 설명

관리자가 백그라운드 관리에 올바르게 로그인하는 조건에서 재료 모듈을 관리할 수 있습니다.

참가자

관리자

전제 조건

관리자가 성공적으로 로그인했습니다.

후조건

성공적인 작업

메인 이벤트 흐름

(1) 관리자가 자재정보 조회를 위해 자재관리 페이지에 진입합니다.

(2) 관리자는 자료를 추가, 삭제 및 수정할 수 있습니다.

(3) 관리자가 자료를 추가하고, 추가에 성공하면 조회 페이지로 이동합니다.

비정상적인 이벤트 흐름

e1. 500 오류 보고

e2. 데이터베이스 연결 예외

표 3-4 자재 분류 관리 설명

설명 항목

설명하다

사용 사례 이름

재료 분류 작업

사용 사례 설명

관리자가 백그라운드 관리에 올바르게 로그인하는 조건에서 재료 분류 모듈이 관리합니다.

참가자

관리자

전제 조건

관리자가 성공적으로 로그인했습니다.

후조건

성공적인 작업

메인 이벤트 흐름

(1) 관리자는 재료분류 관리 페이지에 들어가 재료분류 내용의 정보를 조회한다.

(2) 관리자는 재료 분류를 삭제할 수 있습니다.

비정상적인 이벤트 흐름

e1. 500 오류 보고

e2. 데이터베이스 연결 예외

表3-5 入库管理描述

描述项

说明

用例名称

仓库操作

用例描述

管理员正确登录后台管理的条件下,对入库模块进行管理

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入入库管理页面,查询物资的信息

(2)管理员可以对入库进行增删除和编辑仓库操作

(3)管理员新增入库,添加成功跳转到查询页面

异常事件流

e1.报500错误

e2.数据库连接异常

表3-6 员工检测管理描述

描述项

说明

用例名称

员工检测操作

用例描述

管理员正确登录后台管理的条件下,员工检测模块进行管理

参与者

管理员

前置条件

管理员成功登录

后置条件

操作成功

主事件流

(1)管理员进入员工检测管理页面,查询员工检测内容的信息

(2)管理员可以对员工检测进行删除操作

异常事件流

e1.报500错误

e2.数据库连接异常

救援物资管理与分配系统在对需求做解析后,整个系统主要分为两个部分:管理员和员工,每个模块下的分支功能不一样。对功能做出如下说明:

员工模块:

账号登录认证。

管理个人资料信息,修改可修改的信息项。

物资种类,员工可以对物资进行分类,输入具体物资的具体信息(包括物资名称、物质种类、厂商信息、物质编号等)。

物资仓库,同时查看历史物资的记录。

员工检测,员工能看见自己的检测信息(包括体温、身体状况、健康码等)。

物资分类,同时查看分类信息的记录。

管理员模块:

维护员工信息,审核员工的账号,可以冻结员工的登录权限,或者删除员工账号。

物资入库管理,并可以销毁某个物资,更新物资数据,模糊搜索物资数据等。

厂商管理,并可以销毁某个厂商,更新厂商数据,模糊搜索厂商数据等。

系统维护管理数据。

    1. 非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

    1. 数据流程分析

一层数据流程图包括了登录、用户功能和检索维护等模块,在登录模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。

系统的一层数据流图如下图所示。

图3-2系统数据流图(一层)

二层数据流程是对一层数据流层图中填写登录信息、用户功能的细化。即:填写登录信息细化为填制信息、后台审核,用户功能细化为物资仓库、物资分类信息、物资派送、员工检测等操作。

系统的二层数据流图如下图所示。

图3-4系统数据流图(二层)

  1. 系统设计
    1. 系统架构设计

目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。超市商品管理系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向用户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。

系统架构图如下图所示。

图4-1系统架构图

    1. 系统功能结构

系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:员工管理、物资仓库管理、物资分类管理、入库管理、厂商管理、系统维护管理、派送管理、员工检测管理。系统整体角色分为两个部分,一是员工、二是管理。权限分布也是很明显,员工是在除去浏览信息之外还具有查询和管理自己账户信息、物资信息录入、仓库信息、物资分类、物资库存查询、物资派送等权限;管理员是最高权限拥有者。

系统功能结构图如下图所示。

图4-2系统功能结构图

    1. 功能模块设计

用户管理模块

该模块是为所有用户登录设计的,如员工登录后只能进行自己的普通功能操作(如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。

物资仓库模块

员工和物资仓库存在录入信息关系,关系为一对多,根据物资编号来将物资数据传入到仓库信息数据中,操作人为员工,然后生成物资列表,员工查看个人输入物资列表,可以进行数据销毁。

物资种类模块

操作人来录入物资种类数据,点击物资种类录入按钮,依次填写要录入的种类数据,点击提交按钮,将数据提交至数据库,然后刷新物资种类数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。

用户维护模块

操作人来录入用户数据,点击用户录入按钮,依次填写要录入的用户数据,点击提交按钮,将数据提交至数据库,然后刷新用户数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。

员工检测模块

管理员点击员工检测管理菜单,点击公告添加子菜单,添加检测数据,填写检测情况、内容,提交成功后,员工检测数据页面刷新,新数据成功载入页面。

    1. 表单字段校验处理设计

1.出错信息类型

出错信息类型包括:

A 未输入必填项;

B 应输入合法字符或数字却输入非法字符或数字;

C 对空数据表进行更改或删除操作;

D 向要求唯一值的关键字段添加重复值。

2.出错处理对策

对于错误A,系统要求用户输入非空值。

对于错误B,系统要求用户输入合法字符。

对于错误C,系统提示数据表无记录可更改或删除。

对于错误D,系统要求用户输入非重复值。

    1. 系统维护设计

救援物资管理与分配系统是个现代化的高度集成的综合信息系统,系统主要服务对象为用户,最大化在页面中提供多的信息,因此在系统维护上,数据量较大,整体的维护设计如下:

(1)代码的维护:部署在云服务器上或本地服务器,通过SVN或FTP保持版本更新迭代。

(2)功能增加:功能升级在必要的前提下。

(3)数据维护:根据安全性等需求,定期对数据库进行人工备份。

    1. 数据库设计
      1. 概念模型

对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在超市商品管理系统中存在着多个实体分别是用员工、管理员、物资、仓库、厂商、物资库存、物资派送。

系统总体ER图如下图所示。

图4-4系统总体ER图

      1. 关系模型

管理员(管理员id、用户名、密码、权限)

员工(员工id、账号、密码、姓名、性别、地区、手机、Email、照片)

通知数据(通知id、标题、类别、首页图片、点击率、发布人)

物资分类(物资id、编号、名称、类别、数量、厂商、创建时间)

物资仓库(物资仓库id、物资编号、物资名称、物资种类、仓库数量、厂商信息)

物资派送(物资派送id、物资编号、物资名称、物资数量、派送人员)

      1. 数据表

数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。超市商品管理系统所需要的部分数据结构表如下表所示。

vendor_management表:

名称

类型

长度

不是null

主键

注释

vendor_management_id

int

11

厂商管理ID

manufacturer_name

varchar

64

厂商名称

manufacturer_address

varchar

64

厂商地址

contact_number

varchar

16

联系电话

vendor_details

text

0

厂商详情

provision_of_materials

text

0

提供物资

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

material_warehousing表:

名称

类型

长度

不是null

主键

注释

material_warehousing_id

int

11

物资入库ID

warehousing_date

date

0

入库日期

material_name

varchar

64

物资名称

material_type

varchar

64

物资种类

warehouser

int

11

入库人

manufacturer

varchar

64

厂商

storage_location

varchar

64

存放位置

receipt_quantity

int

11

入库数量

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

material_warehouse表:

名称

类型

长度

不是null

主键

注释

material_warehouse_id

int

11

物资仓库ID

material_name

varchar

64

物资名称

item_no

varchar

64

物资编号

material_type

varchar

64

物资种类

material_picture

varchar

255

物资图片

storage_location

varchar

64

存放位置

manufacturer

varchar

64

厂商

stock

int

11

库存

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

material_delivery表:

名称

类型

长度

不是null

主键

注释

material_delivery_id

int

11

物资派送ID

material_name

varchar

64

物资名称

material_type

varchar

64

物资种类

delivery_quantity

int

11

派送数量

material_flow_direction

varchar

64

物资流向

sender

int

11

派送人

manufacturer

varchar

64

厂商

delivery_date

date

0

派送日期

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

department_management表:

名称

类型

长度

不是null

主键

注释

department_management_id

int

11

部门管理ID

department_name

varchar

64

部门名称

department_number

varchar

64

部门编号

department_information

text

0

部门信息

number_of_departments

varchar

64

部门人数

department_location

varchar

64

部门位置

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_testing表:

名称

类型

长度

不是null

主键

注释

employee_testing_id

int

11

员工检测ID

temperature

varchar

64

体温

health_code

varchar

255

健康码

staff

int

11

员工

physical_condition

varchar

64

身体状况

remarks

varchar

64

备注

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

  1. 系统实现
    1. 登录模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

图5-1登录流程图

系统登录界面如下所示。

图5-2系统登录界面

登录模块的关键代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

    1. 用户子系统模块的实现
      1. 用户首页模块

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。

如下图所示为系统的首页界面。

图5-3系统首页界面

      1. 物资仓库模块

入库的物资过程中,首先使用getmap(id,"xinxi"),通过商品ID得到商品数据,将商品数据赋值给入库的物资,调用CommDAO的insert方法将领取数据插入订单表中,最后查看个人历史物资入库记录,可以销毁历史领取数据。

物资入库流程图如下所示。

图5-4物资入库流程图

物资仓库界面如图所示。

图5-5物资仓库界面

      1. 物资派送模块

物资派送过程中,首先使用getmap(id,"xinxi"),通过商品ID得到物资数据,将数据赋值给物资派送,调用CommDAO的insert方法将移库数据插入退货表中,最后查看个人历史物资派送记录,可以销毁历史退货数据。

物资派送流程图如下所示。

图5-6物资派送流程图

物资派送界面如图所示。

图5-7物资派送界面

物资派送界面关键代码如下:

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    1. 管理员子系统模块的实现
      1. 员工管理模块

员工在yhzhgl查看员工信息,先使用sql语句查询出所有员工表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。

员工管理界面如下图所示。

图5-8员工管理界面

      1. 个人资料管理模块

用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时用户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。

密码修改流程图如下所示。

图5-9密码修改流程图

      1. 员工检测管理模块

添加员工检测信息时,输入必填字段后,表现层的ShangpinController接受传过来的员工检测信息参数,再调用ShangpinController类的addShangpin方法,经过ShangpinService业务层到ShangpinMapper持久层的处理,完成对整个添加员工检测信息的操作。addShangpin方法也和用户管理中的addUser方法类似,同时做添加和修改工作。

修改员工检测信息时,选择需要修改的员工检测进行修改,调用ShangpinController控制器的editShangpin方法,拿到该员工检测原本的信息并显示到页面,管理员再对需要修改的员工检测信息字段进行修改,完成后调用addShangpin方法,调用业务层的updateByKey方法,更新数据库的员工检测信息表的数据。

员工检测流程图如下所示。

图5-10员工检测流程图

员工检测管理界面如下图所示。

图5-11员工检测界面

员工检测界面关键代码如下:

@RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

      1. 用户管理模块

选择需要删除的用户信息进行删除,把主键的uId传到CangkuController控制器,再调用控制器的deleteCangku方法,数据经过CangkuService业务层解析和处理,请求CangkuMapper持久层调用deleteByPrimaryKey方法操作数据库将仓库数据从数据库中删除。

查找用户时,输入需要查找的用户名,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。

用户管理流程图如下所示。

图5-12用户管理流程图

      1. 物资派送管理模块

用户选择物资添加派送记录,用户在shangpinxinxi_list查看物资,点击派送,跳转至rukuxinxi_add.jsp,添加派送记录则将添加的派送记录数据封装在HashMap中,然后调用CommDAO的insert方法将派送记录内容插入派送记录表中。

物资派送管理流程图如下所示。

图5-14物资派送管理流程图

图5-15物资派送管理界面

物资派送管理界面关键代码如下:

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    1. 分页模块的实现

本系统单独编写一个Pager类用于分页技术的实现,在该类中确定每一个页面显示记录的总数pageSize,同时定义总记录数totalSize、当前页currentPage和总页数totalPage这几个属性,声明一个带两个参数的构造函数,获取数据库记录的时候传入记录总数给pageSize,通过记录总数和pageSize这两个变量计算出总页数,在查询数据的时候需要通过Pager类的pageSize设置每次取出数据的最大记录数和设置起始取出记录的位置。该类中还定义了几个boolean类型的变量,用于判断是否有上一页、下一页、最后一页等等,在jsp页面显示数据的时候通过标签显示记录是否有上一页或者下一页。

  1. 系统测试
    1. 测试目的

在对该系统进行完详细设计和编码之后,就要对救援物资管理与分配系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。

    1. 测试过程

在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。

登录测试用例表如下所示。

表6-1登录测试用例

测试性能

用户或操作员登录系统

用例目的

测试用户或操作员登录系统时功能是否正常

前提条件

进入用户登录页面或操作员登录页面

输入条件

预期输出

实际情况

各项信息不予填写,直接点击登陆按钮

不允许登录,提示填写账号相关信息

一致

填写错误的登录名或密码后点击登录系统

提示用户名或密码错误,要求重新填写进行登录

一致

填写与验证码信息不一致的信息

系统显示出提示信息,表明验证码错误,要求重新填写

一致

物资入库测试用例表如下所示。

表6-2物资入库测试用例

测试性能

用户进行物资入库的操作

用例目的

测试用户进行物资入库操作时,该功能是否正常

前提条件

用户进入物资详情页,该物资能够被入库

输入条件

预期输出

实际情况

对着某物资点击“入库”按钮

界面跳转至领取界面

一致

在领取界面,输入必填项,点击“提交”按钮

提示“入库成功”,并返回上一级界面

一致

在领取界面,填写领取表单的时候未输入完整,点击“提交”按钮

提示“入库失败”

一致

物资仓库管理测试用例表如下所示。

表6-3物资仓库管理测试用例

测试性能

用户进行物资仓库的操作

用例目的

测试用户进行物资仓库操作时,该功能是否正常

前提条件

用户进入物资详情页,该物资能够被移库

输入条件

预期输出

实际情况

对着某物资点击“仓库”按钮

界面跳转至仓库界面

一致

在物资界面,输入必填项,点击“仓库”按钮

提示“成功”,并返回上一级界面

一致

在物资界面,填写物资表单的时候未输入完整,点击“仓库”按钮

提示“失败”

一致

物资仓库管理测试用例表如下所示。

表6-4物资派送测试用例

测试性能

物资相关信息管理功能

用例目的

测试系统操作者对物资相关信息进行管理的功能是否正常

前提条件

登录系统进入相关管理页面

输入条件

预期输出

实际情况

进入物资派送界面,点击“派送”按钮,填写所有必填项,点击提交

提示“派送成功”,并返回查询界面

一致

进入物资派送界面,点击“派送”按钮,未填写一个或者多个必填项,点击提交

提示“派送失败”,请填写必填项

一致

进入物资派送界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 

节目跳转至修改界面

一致

在修改界面,修改可修改项后,点击“提交”按钮

提示“修改成功”,并返回查询界面

一致

进入物资派送界面,点击某条数据后面的删除按钮

提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面

一致

    1. 测试结果

经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统功能进一步的完善,这样使用起来才能更加的完美。

  1. 总结与展望

通过救援物资管理与分配系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

[1]Shan Li,Peng Xiao,Wei Zhou,Yun Liang,Shiao-Wei Kuo,Tao Chen.Bioinspired Nanostructured Superwetting Thin-Films in a Self-supported form Enabled “Miniature Umbrella” for Weather Monitoring and Water Rescue[J].Nano-Micro Letters,2022,14(02):180-195.

[2]段容谷,庄媛媛,张克勇,吴云霞.突发公共卫生事件下多阶段应急救援物资配置研究[J].中国安全生产科学技术,2021,17(12):142-148.

[3]张毅.考虑需求缺口的应急物资分配机理及运作模式[J].中国流通经济,2021,35(09):32-42.

[4]安聪琢,王玖河.突发性公共卫生事件下横纵结合应急物资配送模式[J].科学技术与工程,2021,21(23):10029-10036.

[5]黄辉,梁星,李梦想,张娟.应急物资联合配送决策研究[J].运筹与管理,2021,30(06):48-54.

[6]叶芷吟. 基于需求分析的大型灾害属地应急物资分配研究[D].北京交通大学,2021.

[7]肖姜. 基于深度学习的跨海大桥灾害救援研究[D].扬州大学,2021.

[8]乐磊,陆倩,杨梦蝶.基于NET平台的应急医疗救援物资管理系统模块化构建[J].现代医院,2021,21(03):417-419+423.

[9]曹策俊,高学鸿.基于数学规划的救援物资分配优化模型及其求解算法综述[J].计算机应用,2020,40(08):2398-2409.

[10]王妍妍,孙佰清.模糊信息下多种类应急物资多周期分配优化模型[J].中国管理科学,2020,28(03):40-51.

[11]左文泽. 基于情景分析的城市应急救援调度研究[D].哈尔滨工业大学,2019.

[12] Zheng Qiangcheng, SSM 기반 비상 자원 관리 시스템의 설계 및 구현 [D], Central China Normal University, 2019.

[13] Zhang Jie, Xie Yonggang, Li Xuelong. 비상 관리 시스템에 관한 연구[J]. Land Bridge Vision, 2018(09):75-77+80.

[14] Sun Xiaoye, 지진 긴급 구조 재료 관리 시스템의 설계 및 구현 [D], 베이징 기술 대학, 2018.

[15] 인 푸민, 온라인 어린이 구출[J], 베이징 리뷰, 2018, 59(24): 30-31.

[16] Li Zijian, Zhu Xiaolong, Qiao Zhengfu, Che Jibo, Cao Ping, Wang Youjin.RFID 기술을 기반으로 하는 "3방위" 의료 구조 및 전투 준비 자재 관리 시스템의 개발 및 적용 [J]. 의료 및 건강 장비, 2018, 35(09):38-40.

감사합니다

설계가 완료되면 대학 경력이 끝납니다. 대학시절은 내가 가장 소중하게 생각하는 시간이다. 대학시절 많은 것을 배우고 많이 성장한 시간이었다. 그 동안의 모든 기억이 마음에 새겨졌다. 함께 공부하고 성장한 학생들, 성장과정에서 저를 가르쳐주신 선생님들 덕분에 귀사에 진심으로 감사드립니다.

먼저 강사님께 감사하다는 말씀을 드리고 싶습니다 디자인의 완성은 선생님의 일련의 지도와 뗄 수 없는 관계입니다. 졸업 프로젝트를 완료하는 동안 선생님은 많은 적절한 제안을 하셨고, 바로 선생님의 세심한 작업 태도 덕분에 제 디자인이 성공적으로 완성될 수 있었습니다.

마지막으로, 대학 생활 동안 저를 가르쳐 주신 모든 선생님들께 감사드립니다. 저에게 풍부한 지식을 가르쳐 주셨고, 문제가 생겼을 때 대처하고 해결하는 방법을 가르쳐 주셨습니다. 귀하의 도움과 지원에 감사드립니다.

좋아요+즐겨찾기+팔로우 → 비공개 메시지로 소스코드 및 데이터베이스 받기

추천

출처blog.csdn.net/weixin_61498557/article/details/131229221