컴퓨터/자료구조
자료구조 - 시작
sidedoor
2023. 11. 18. 21:07
소프트웨어 사이클은 문제 분석, 요구사항 도출, 소프트웨어 명세, 디자인, 구현, 테스팅 및 검증, 전달, 운영, 유지보수 등의 단계를 포함한다.
소프트웨어 공학은 시간과 예산 추정치 내에서 개발되는 컴퓨터 프로그램을 설계, 생산 및 유지 관리하는 접근 방식으로 정의된다.
이때 소프트웨어 제품의 크기와 복잡성을 관리하기 위한 도구 사용이 중요하다.
도구로는 주로 hardware(컴퓨터 및 주변 장치), software(운영 체제, 편집기, 컴파일러, 인터프리터, 디버깅 시스템, 테스트 데이터 생성기 등), ideaware(지식)를 포함한다.
고품질 소프트웨어의 목표는 기능성, 수정 용이성, 재사용성, 시간 및 예산 제약 내에서의 완성 등의 목표를 뜻한다.
이러한 조건을 요구하는 이유는 코드를 짠 뒤에 나만 보는 것이 아니라 같이 일하는 사람이나 다른사람이 보고 수정을 하거나 활용을 할 수 있어야 하기 때문이다.
자료구조에서 가장 중요한 단계로 추상화가있다.
추상화는 어떤 사람의 관점에 따라 필수적인 세부 사항만 포함 한다.
이런 추상화를 하기 위해서 단계적 세분화를 해야한다.
단계적 세분화는 문제를 단계별로 접근하며, 각 단계는 유사한 단계를 가지지만 세부 수준은 다르게 한다.
세분화 방법에는 상향식, 하향식, 기능 분해, 왕복 여행 게슈탈트 설계가 있다.