문서 표지
문서명 Document Name | 소프트웨어 개발 계획 (Software Development Plan) |
문서번호 Document No. | PF-SSAMD-SDP |
개정번호 Revision No. | 0 |
개정날짜 Revision Date | |
작성자 Author | |
검토자 Reviewer | |
승인자 Approval |
개정이력
개정번호 Revision No. | 개정날짜 Revision Date | 작성자 Author | 변경사항 Changes |
---|---|---|---|
0 |
1. 목적
본 문서는 SSAMD 프로젝트의 소프트웨어 개발에 필요한 제반 사항을 기술한다.
2. 범위
본 문서는 소프트웨어 개발자가 이해할 수 있는 수준에서 작성되며, 본 문서에서 다루는 주제는 다음과 같다:
- 프로젝트 개요
- 참여자
- 위험관리
- 레거시 소프트웨어
- 사이버보안
- 사용적합성
- 소프트웨어 개발 프로세스
- 소프트웨어 개발 일정
- 소프트웨어 개발 문서
- 소프트웨어 형상 관리
- 소프트웨어 문제해결 관리 프로세스
- 소프트웨어 유지보수 프로세스
- 소프트웨어 개발 환경
3. 참고 문서
본 문서는 [QM-SDG]에 명시한 참고 문서를 참고한다.
본 문서는 또한 11. 소프트웨어 개발 문서에 명시된 문서를 참고한다.
본 문서는 또한 다음과 같은 문서를 참고한다:
Table: References
Document No. | Document Name |
---|---|
QM-SDG | 소프트웨어 개발 절차서 Software Development Guideline |
Debugging App | Debugging Application for Microsoft .NET and Microsoft Windows Code Samples by John Robbins, Microsoft Press |
Modern C++ | Modern C++ Design: Generic Programming and Design Patterns Applied by Andrei Alexandrescu, Addison-Wesley, 2001. |
4. 용어 정의
본 문서는 [QM-SDG]의 용어 정의를 따른다.
5. 프로젝트 개요
프로젝트 개요는 다음과 같다:
Table: Project description
Item | Description |
---|---|
Project Name | SSAMD |
Product Name | SSAMD |
Model Name | SSAMD-V1 |
Title of Product Group | 의료영상전송장치소프트웨어 (예시) |
Classification Number | A26430.03 |
Intended use | 초음파 하드웨어에서 전달받은 초음파 영상의 표시 및 저장 |
Operating principle | 메모리 맵을 통해 전달받은 초음파 영상을 화면에 표시 및 저장함. |
Medical device class | Class 1 |
6. 참여자
소프트웨어 개발 참여자 중 부문별 대리인 및 책임과 권한은 다음과 같다:
Table: Representative, Role and Responsibility
Representative | Role | Responsibility |
---|---|---|
Product Manager | 제품을 정의한다. | |
Project Manager | 제품 개발을 관리한다. | |
Software Manager | 제품의 소프트웨어 개발을 관리한다. | |
Integration Manager | 제품의 소프트웨어 통합을 관리한다. | |
RA/QA Manager | 제품의 인증과 품질을 관리한다. | |
Test Manager | 제품 테스트를 관리한다. | |
Configuration Manager | 제품의 형상을 관리한다. |
위에서,
- Software 팀, Test 팀 및 RA/QA 팀은 독립적으로 구성한다.
- Software 팀, Test 팀 및 RA/QA 팀은 소프트웨어 개발 문서를 작성시 작성자와 검토자로 협업한다. (13. 소프트웨어 개발 문서 참고)
프로젝트 매니저는 소프트웨어를 IT 네트워크에 연결하거나, IT 네트워크를 변경할 때 발생할 수 있는 위험을 식별, 분석, 평가 및 통제해야 한다.
- IT 네트워크에 대한 변경 사항은 다음을 포함한다:
- IT 네트워크 구성의 변경
- IT 네트워크에 추가 항목 연결
- IT 네트워크에서 항목 분리
- IT 네트워크에 연결된 기기의 업데이트 및 업그레이드
7. 위험 관리
소프트웨어 위험 관리는 [QM-SDG]의 소프트웨어 위험관리를 따르며, 소프트웨어 안전등급은 [QM-SDG]의 소프트웨어 안전등급 설정 프로세스에 따라 Class B로 설정한다.
소프트웨어 위험관리 계획은 [PF-SSAMD-RMP]로 통합하여 관리하고, 그 소프트웨어 위험관리 보고서는 [PF-SSAMD-RMR]로 통합하여 관리한다.
8. 레거시 소프트웨어
레거시 소프트웨어 관리는 [QM-SDG]의 레거시 소프트웨어에 명시된 요구사항을 따른다.
본 프로젝트에서 사용하는 레거시 소프트웨어는 다음과 같다:
Table: Legacy software
Software Name | Software Version | Source | Usage Purpose |
---|---|---|---|
BugslayerUtil | – | [Debugging App] | 디버깅 기능 구현 |
fo-dicom. Desktop | 4.0.8.0 | https://github.com/fo-dicom/fo-dicom | DICOM 기능 구현 |
LiteDB | 5.0.19.0 | https://www.litedb.org/ | 환자 데이터베이스 구현 |
Loki | – | [Modern C++] | C++ 디자인 패턴 구현 |
Newtonsoft. Json | 13.0.3 | https://www.newtonsoft.com/json | JSON 표기 구현 |
Windows | 10 | Microsoft | 시스템 운영체계 |
위에서:
- 소프트웨어 매니저는 레거시 소프트웨어의 업데이트, 통제 및 만료에 대해 모니터링한다.
- 만약 Windows 11 운영체계에 대한 서비스가 종료되거나 종료가 예상될 경우, Project Manager는 새로운 버전의 Windows 운영체제(예, Windows12)를 포팅하기 위한 소프트웨어 개발을 [QM-SDG]에 따라 시작한다.
- 새로운 버전의 Windows 운영체제 포팅은 소프트웨어의 메이저 변경에 해당한다.
- LiteDB, fo-DICOM Desktop, Newtonsoft. Json은 DLL 상태로 배포되므로, 제품 출시 후에는 Windows 운영체계를 변경하지 않는 한 가능하면 기존 버전을 유지한다.
- BugslayerUtil과 Loki는 소스를 포함하므로, 업데이트가 필요하면 먼저 소스를 수정하는 것을 고려한다.
9. 사이버 보안
사이버 보안은 [QM-SDG]의 사이버보안을 따르며, 사이버보안 체크리스트는 [PF-SSAMD-RMP]로 통합하여 관리한다.
10. 사용적합성
TBD
11. 소프트웨어 개발 프로세스
소프트웨어 개발 프로세스는 [QM-SDG]의 소프트웨어 개발 프로세스를 따른다.
12. 소프트웨어 개발 일정
소프트웨어 개발 일정은 다음과 같다:
Table: Software development milestones
Milestone | Date | Phase | Deliverable |
---|---|---|---|
M1 | 도입 (Inception) | 소프트웨어 개발 계획 | |
M2 | 정교화 (Elaboration) | 위험 관리 계획서, 소프트웨어 요구사항 사양서, 소프트웨어 아키텍처 | |
M3 | 구축 (Construction) | 소프트웨어 설계 사양서, 소프트웨어 테스트 계획서 | |
M4 | 이관 (Transition) | 전체 소프트웨어 개발 문서 |
13. 소프트웨어 개발 문서
소프트웨어의 개발 문서 목록은 다음과 같다:
Table: Software development documents
Document No. | Document Name | Author | Reviewer | Approver | Milestone |
---|---|---|---|---|---|
QM-SDG | 소프트웨어 개발 지침서 Software Development Guideline | Software Mgr. | CTO, RA/QA Mgr. | CEO | – |
PF-SSAMD-BZP | 사업 계획서 Business Plan | Product Mgr. | CTO, RA/QA Mgr. | CEO | Draft – M1 Final -M4 |
PF-SSAMD-UM | 사용자 매뉴얼 User Manual | TBD | Project Mgr. RA/QA Mgr. | Product Mgr. | Draft – M2 Final -M4 |
PF-SSAMD-SDP | 소프트웨어 개발 계획서 Software Development Plan | Software Mgr. | Product Mgr. RA/QA Mgr. | Project Mgr. | Draft – M1 Final -M4 |
PF-SSAMD-USR | 사용적합성 Usability | TBD | Product Mgr. RA/QA Mgr. | Project Mgr. | Draft – M2 Final -M4 |
PF-SSAMD-RMP | 위험관리 계획서 Risk Management Plan | Software Mgr. | RA/QA Mgr. | Project Mgr. | Draft – M2 Final -M4 |
PF-SSAMD-SRS | 소프트웨어 요구사항 사양서Software Requirement Specification | Software Mgr. | Test Mgr. Product Mgr. RA/QA Mgr. | Project Mgr. | Draft – M2 Final -M4 |
PF-SSAMD-SWA | 소프트웨어 아키텍처 Software Architecture | Software Mgr. | RA/QA Mgr. | Project Mgr. | Draft – M2 Final -M4 |
PF-SSAMD-SDS | 소프트웨어 설계 사양서 Software Design Specification | Software Mgr. | Test Mgr. RA/QA Mgr. | Project Mgr. | Draft – M3 Final -M4 |
PF-SSAMD-STP | 소프트웨어 테스트 계획서 Software Test Plan | Test Mgr. | Software Mgr. RA/QA Mgr. | Project Mgr. | Draft – M3 Final -M4 |
PF-SSAMD-SVP | 소프트웨어 밸리데이션 계획서 Software Validation Plan | Software Mgr. | RA/QA Mgr. | Project Mgr. | Draft – M3 Final -M4 |
PF-SSAMD-STR | 소프트웨어 테스트 보고서 Software Test Report | Test Mgr. | RA/QA Mgr. | Project Mgr. | Final -M4 |
PF-SSAMD-RMR | 위험 관리 보고서 Risk Management Report | Software Mgr. | RA/QA Mgr. | Project Mgr. | Final -M4 |
PF-SSAMD-TRC | 소프트웨어 추적표 Software Traceability Table | Software Mgr. | RA/QA Mgr. | Project Mgr. | Final -M4 |
PF-SSAMD-SVR | 소프트웨어 밸리데이션 보고서 Software Validation Report | Software Mgr. | RA/QA Mgr. | Project Mgr. | Final -M4 |
소프트웨어 개발문서의 변경 및 승인 절차는 다음과 같다:
- 작성자는 마일스톤에 맞춰 해당 소프트웨어 개발문서의 작성 및 변경을 완료한다.
- 검토자 및 승인자는 서명 전에 리뷰를 진행한다.
- 작성자는 모든 리뷰를 해결한 후, 소프트웨어 개발문서를 PDF 파일로 변환한다.
- 작성자, 검토자, 승인자는 PDF 파일에 서명한다.
- 서명된 파일은 소프트웨어 형상관리 도구에 커밋한다.
소프트웨어 개발문서는 소프트웨어 형상관리 도구를 통해 발급한다.
14. 소프트웨어 형상 관리
소프트웨어 형상 관리는 [QM-SDG]의 소프트웨어 형상 관리에 따라 관리한다.
본 프로젝트에서 사용하는 형상관리 도구와 소프트웨어 버전 형식은 다음과 같이 관리한다:
Table: Software configuration management tool and software version
Item | Description |
---|---|
형상관리 도구 | SVN |
소프트웨어 버전 형식 | 1.minor.patch.build 위에서, minor, path, build는 각각 0, 0, 1에서 시작하며, 제품 출시 시에는 다른 각각 다른 값을 가질 수 있다. |
15. 소프트웨어 문제 해결 관리
소프트웨어 문제 해결 관리는 [QM-SDG]의 소프트웨어 문제 해결 관리에 따른다.
본 프로젝트에서 사용하는 소프트웨어 문제해결 관리 도구는 다음과 같다:
Table: Software problem resolution management tool
Item | Description |
---|---|
소프트웨어 문제해결 관리 도구 | Mantis |
16. 소프트웨어 유지보수 프로세스
소프트웨어 유지보수 프로세스는 [QM-SDG]의 소프트웨어 유지보수 프로세스에 따른다.
17. 소프트웨어 개발 환경
17.1. 소프트웨어 개발 도구
소프트웨어는 다음과 같은 개발 도구를 사용한다:
Table: Software development tools
Item | Description |
---|---|
소프트웨어 빌드 | Microsoft Visual Studio 2022 |
소프트웨어 패키지 | Inno Setup |
17.2. 서버 및 인터넷 사이트
본 프로젝트에서 사용하는 서버 및 인터넷 사이트는 다음과 같다:
Table: Servers and internet sites
Item | Description |
---|---|
위키사이트 | https://wiki.girjae.com |
svn | |
mantis | |
의료기기전자민원시스템 | https://emedi.mfds.go.kr/msismext/emd/min/mainView.do |
DICOM Standard | https://dicom.nema.org/standard.htm |
DICOM Standard Browser | https://dicom.innolitics.com/ciods |