문서 표지

문서명
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. 범위

본 문서는 소프트웨어 개발자가 이해할 수 있는 수준에서 작성되며, 본 문서에서 다루는 주제는 다음과 같다:

  1. 프로젝트 개요
  2. 참여자
  3. 위험관리
  4. 레거시 소프트웨어
  5. 사이버보안
  6. 사용적합성
  7. 소프트웨어 개발 프로세스
  8. 소프트웨어 개발 일정
  9. 소프트웨어 개발 문서
  10. 소프트웨어 형상 관리
  11. 소프트웨어 문제해결 관리 프로세스
  12. 소프트웨어 유지보수 프로세스
  13. 소프트웨어 개발 환경

3. 참고 문서

본 문서는 [QM-SDG]에 명시한 참고 문서를 참고한다.

본 문서는 또한 11. 소프트웨어 개발 문서에 명시된 문서를 참고한다.

본 문서는 또한 다음과 같은 문서를 참고한다:

Table: References

Document No.Document Name
QM-SDG소프트웨어 개발 절차서
Software Development Guideline
Debugging AppDebugging 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

ItemDescription
Project NameSSAMD
Product NameSSAMD
Model NameSSAMD-V1
Title of Product Group의료영상전송장치소프트웨어 (예시)
Classification NumberA26430.03
Intended use초음파 하드웨어에서 전달받은 초음파 영상의 표시 및 저장
Operating principle메모리 맵을 통해 전달받은 초음파 영상을 화면에 표시 및 저장함.
Medical device classClass 1

6. 참여자

소프트웨어 개발 참여자 중 부문별 대리인 및 책임과 권한은 다음과 같다:

Table: Representative, Role and Responsibility

RepresentativeRoleResponsibility
Product Manager제품을 정의한다.
Project Manager제품 개발을 관리한다.
Software Manager제품의 소프트웨어 개발을 관리한다.
Integration Manager제품의 소프트웨어 통합을 관리한다.
RA/QA Manager제품의 인증과 품질을 관리한다.
Test Manager제품 테스트를 관리한다.
Configuration Manager제품의 형상을 관리한다.

위에서,

  1. Software 팀, Test 팀 및 RA/QA 팀은 독립적으로 구성한다.
  2. 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 NameSoftware VersionSourceUsage Purpose
BugslayerUtil[Debugging App]디버깅 기능 구현
fo-dicom. Desktop4.0.8.0https://github.com/fo-dicom/fo-dicomDICOM 기능 구현
LiteDB5.0.19.0https://www.litedb.org/환자 데이터베이스 구현
Loki[Modern C++]C++ 디자인 패턴 구현
Newtonsoft. Json13.0.3https://www.newtonsoft.com/jsonJSON 표기 구현
Windows10Microsoft시스템 운영체계

위에서:

  1. 소프트웨어 매니저는 레거시 소프트웨어의 업데이트, 통제 및 만료에 대해 모니터링한다.
  2. 만약 Windows 11 운영체계에 대한 서비스가 종료되거나 종료가 예상될 경우, Project Manager는 새로운 버전의 Windows 운영체제(예, Windows12)를 포팅하기 위한 소프트웨어 개발을 [QM-SDG]에 따라 시작한다.
  3. 새로운 버전의 Windows 운영체제 포팅은 소프트웨어의 메이저 변경에 해당한다.
  4. LiteDB, fo-DICOM Desktop, Newtonsoft. Json은 DLL 상태로 배포되므로, 제품 출시 후에는 Windows 운영체계를 변경하지 않는 한 가능하면 기존 버전을 유지한다.
  5. BugslayerUtil과 Loki는 소스를 포함하므로, 업데이트가 필요하면 먼저 소스를 수정하는 것을 고려한다.

9. 사이버 보안

사이버 보안은 [QM-SDG]의 사이버보안을 따르며, 사이버보안 체크리스트는 [PF-SSAMD-RMP]로 통합하여 관리한다.

10. 사용적합성

TBD

11. 소프트웨어 개발 프로세스

소프트웨어 개발 프로세스는 [QM-SDG]의 소프트웨어 개발 프로세스를 따른다.

12. 소프트웨어 개발 일정

소프트웨어 개발 일정은 다음과 같다:

Table: Software development milestones

MilestoneDatePhaseDeliverable
M1도입
(Inception)
소프트웨어 개발 계획
M2정교화
(Elaboration)
위험 관리 계획서, 소프트웨어 요구사항 사양서, 소프트웨어 아키텍처
M3구축
(Construction)
소프트웨어 설계 사양서, 소프트웨어 테스트 계획서
M4이관
(Transition)
전체 소프트웨어 개발 문서

13. 소프트웨어 개발 문서

소프트웨어의 개발 문서 목록은 다음과 같다:

Table: Software development documents

Document No.Document NameAuthorReviewerApproverMilestone
QM-SDG소프트웨어 개발 지침서 Software Development GuidelineSoftware Mgr.CTO,
RA/QA Mgr.
CEO
PF-SSAMD-BZP사업 계획서
Business Plan
Product Mgr.CTO,
RA/QA Mgr.
CEODraft – M1
Final -M4
PF-SSAMD-UM사용자 매뉴얼
User Manual
TBDProject Mgr.
RA/QA Mgr.
Product Mgr.Draft – M2
Final -M4
PF-SSAMD-SDP소프트웨어 개발 계획서 Software Development PlanSoftware Mgr.Product Mgr. RA/QA Mgr.Project Mgr.Draft – M1 Final -M4
PF-SSAMD-USR사용적합성 UsabilityTBDProduct 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 SpecificationSoftware Mgr.Test Mgr.
Product Mgr. RA/QA Mgr.
Project Mgr.Draft – M2 Final -M4
PF-SSAMD-SWA소프트웨어 아키텍처 Software ArchitectureSoftware 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 PlanTest 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 ReportTest 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

소프트웨어 개발문서의 변경 및 승인 절차는 다음과 같다:

  1. 작성자는 마일스톤에 맞춰 해당 소프트웨어 개발문서의 작성 및 변경을 완료한다.
  2. 검토자 및 승인자는 서명 전에 리뷰를 진행한다.
  3. 작성자는 모든 리뷰를 해결한 후, 소프트웨어 개발문서를 PDF 파일로 변환한다.
  4. 작성자, 검토자, 승인자는 PDF 파일에 서명한다.
  5. 서명된 파일은 소프트웨어 형상관리 도구에 커밋한다.

소프트웨어 개발문서는 소프트웨어 형상관리 도구를 통해 발급한다.

14. 소프트웨어 형상 관리

소프트웨어 형상 관리는 [QM-SDG]의 소프트웨어 형상 관리에 따라 관리한다.

본 프로젝트에서 사용하는 형상관리 도구와 소프트웨어 버전 형식은 다음과 같이 관리한다:

Table: Software configuration management tool and software version

ItemDescription
형상관리 도구SVN
소프트웨어 버전 형식1.minor.patch.build
위에서, minor, path, build는 각각 0, 0, 1에서 시작하며, 제품 출시 시에는 다른 각각 다른 값을 가질 수 있다.

15. 소프트웨어 문제 해결 관리

소프트웨어 문제 해결 관리는 [QM-SDG]의 소프트웨어 문제 해결 관리에 따른다.

본 프로젝트에서 사용하는 소프트웨어 문제해결 관리 도구는 다음과 같다:

Table: Software problem resolution management tool

ItemDescription
소프트웨어 문제해결 관리 도구Mantis

16. 소프트웨어 유지보수 프로세스

소프트웨어 유지보수 프로세스는 [QM-SDG]의 소프트웨어 유지보수 프로세스에 따른다.

17. 소프트웨어 개발 환경

17.1. 소프트웨어 개발 도구

소프트웨어는 다음과 같은 개발 도구를 사용한다:

Table: Software development tools

ItemDescription
소프트웨어 빌드Microsoft Visual Studio 2022
소프트웨어 패키지Inno Setup

17.2. 서버 및 인터넷 사이트

본 프로젝트에서 사용하는 서버 및 인터넷 사이트는 다음과 같다:

Table: Servers and internet sites

ItemDescription
위키사이트https://wiki.girjae.com
svn 
mantis 
의료기기전자민원시스템https://emedi.mfds.go.kr/msismext/emd/min/mainView.do
DICOM Standardhttps://dicom.nema.org/standard.htm
DICOM Standard Browserhttps://dicom.innolitics.com/ciods

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다