DevGang
[SE-01] 소프트웨어 본문
1. 소프트웨어(Software)
- 소프트웨어는 하드웨어를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램과 자료 구조 등을 총칭함
- 프로그램들의 사용과 운영을 기술하는 문서까지 포함
2. 좋은 소프트웨어의 특성
- 사용자가 원하는 대로 동작해야 함
- 일정 시간 내에 주어진 조건하에서 원하는 기능을 실행할 수 있어야 함
- 신뢰성이 높아야 하며 효율적이어야 함
- 잠재적인 에러가 가능한 적어야 하며, 유지보수가 용이해야 함
- 적당한 사용자 인터페이스 제공으로 사용하기가 편리해야 함
- 남이 알아보기 쉬워야 함
- 경제적이어야 함
- 문서화가 잘 되어 있어야 함
- 사용자의 기능 변경의 필요성을 만족하기 위하여 소프트웨어를 진화하는 것이 가능해야 함(유지보수성)
- 소프트웨어가 자원을 쓸데없이 낭비하지 않아야 함(효율성)
- 소프트웨어는 적절한 사용자 인터페이스와 문서를 가지고 있어야 함(사용 용이성)
3. 소프트웨어의 생산성 (Productivity)
- 소프트웨어의 생산성은 투입된 비용, 노력 등에 대한 생산량을 의미
- 소프트웨어 생산성에 영향을 미치는 요소
- 개발자(프로그래머)의 능력
- 원활한 팀 의사 전달
- 제품의 복잡도
- 소프트웨어의 문서(Document) 표준
- 문서가 표준화되었다는 것은 누구나 알아볼 수 있도록 쉽게 작성되었다는 것을 의미함
- 소프트웨어의 문서 표준이 되었을 때, 개발자가 얻는 이득
- 시스템 개발을 위한 분석과 설계가 용이함
- 프로그램 유지보수가 용이
- 프로그램의 확장성이 있음
4. 시스템
- 시스템은 공통의 목적이나 목표를 달성하기 위하여 여러 가지 상호 관련된 요소들을 유기적으로 결합한 것
- 소프트웨어는 독립적으로 존재할 수 없으므로 컴퓨터를 기반으로 하는 여러 시스템과 관련을 맺어 상호 동작함
- 시스템의 구성 요소
- 입력 (Input) : 처리 방법, 처리할 데이터, 조건을 시스템에 투입하는 것
- 처리 (Process) : 입력된 데이터를 처리 방법과 조건에 따라 처리하는 것
- 출력 (Output) : 처리된 결과를 시스템에서 산출하는 것
- 제어 (Control) : 자료를 입력하여 출력될 때까지의 처리 과정이 올바르게 진행되는지 감독하는 것
- 피드백 (Feed Back) : 출력된 결과가 예정된 목표를 만족시키지 못할 경우 목표 달성을 위해 반복 처리하는 것
'정보처리 > SE' 카테고리의 다른 글
[SE-06] 프로젝트 비용 산정 (0) | 2021.02.08 |
---|---|
[SE-05] 프로젝트 계획 및 예측 (0) | 2021.02.08 |
[SE-04] 프로젝트 관리 (0) | 2021.02.08 |
[SE-03] 소프트웨어 생명 주기 (0) | 2021.02.08 |
[SE-02] 소프트웨어 공학 (0) | 2021.02.08 |
Comments