소프트웨어공학/수업

2. 소프트웨어 공학의 정의와 목표(1-2)

멜데스 2017. 4. 13. 22:32

소프트웨어의 공학의 정의와 목표

소프트웨어공학의 정의

정의

"소프트웨어 개발, 운용, 유지 보수 및 파기에 대한 체계적인 접근 방법"

소프트웨어 공학의 목표

목표

-    소프트웨어의 생산성과 품질 향상

-    최소의 비용으로 최적의 기간(계획된 일정)에 우수한 품질의 소프트웨어를 개발하는 것

고품질 + 생산성


소프트웨어 공학에서 다루는 주제

네가지 주제

 방법

 도구

 어떤 결과를 생성하기 위하여 적용되는 기법과 절차

더 좋은 방법으로 작업하기 위한 기구 또는 자동화된 시스템 

 프로세스

패러다임 

 도구와 기법을 사용하여 작업하는 순서

개발의 스타일 


소프트웨어공학의 기본원칙

일곱가지 원칙

-현대적인 프로그래밍 기술을 적용

-높은 신뢰성

-사용의 편리성과 유지보수성이 높아야함

-지속적인 검증시행

-소프트웨어 개발비용의 최소화

-문서화를 통해 명확성을 유지

-시스템의 보안과 안전성 보장


------------> 좋은 소프트웨어를 만들기 위한 노력


=======================================================================

좋은 소프트웨어

좋은 소프트웨어의 특성

네 가지 특성

- 소프트웨어는 유지 보수가 용이해야 함

- 소프트웨어는 신뢰성이 높아야 함

- 소프트웨어는 효율적이어야 함

- 사용자 수준에 따른 적당한 사용자 인터페이스(UI)를 제공

품질

품질 평가 기준

정확성(Correctness)

-기능적으로 맞게 동작해야 함(표준)

-요구분석서의 기재된 기능과 일치하는지 점검


신뢰성(Reliability)

-소프트웨어가 운영되는 동안 고장없이 작동할 확률


강인성(Robustness)

-요구명세에 표시하지 않은 여러 가지 상황에서 제대로 작동하는지 확인


성능(Performance)

-수행속도

-알고리즘의 시간 복잡도

-시뮬레이션


사용용이성(Usability)

-시스템을 친근하게 느낄 수 있는 성질

-UI(UserInterface)


유지보수성(Maintainability)

-보수성

-정해진 시간에 소프트웨어 결함을 해결할 수 있는 성질


재사용성(Reusability)

-소프트웨어 부품(라이브러리, 모듈, 클래스 등)의 성질

-확장 가능성

-적응성


생산성(Productivity)

생산성에 영향을 미치는 요인

-생산과정(Process)에 크게 영향을 받음

-개발경험의 성숙도에 의해 좌우됨

-생산성에 영향을 미치는 5가지 요소

-프로그래머의 능력

-팀 내 커뮤니케이션 전달

-제품의 복잡도

-기술수준

-관리기술