1과목 : 소프트웨어 설계

<리눅스 명령어>uname:운영 체제 리눅스 버전 확인 명령 ls:디렉토리 리스트 출력 cat:파일 출력 pwd:현재 디렉터리 출력<시스템 구성 요소>Input(입력)Process(처리)Output(출력)Control(제어):과정의 진행 감독 Feedback(피드백):결과 목표 달성을 위한 반복 처리<시스템의 품질 속성>:소프트웨어 아키텍처 설계에서…가용성(Availability)변경 용이성(Modifiability)성능 보안 사용 편의성(Usability)시험용 성<시스템 연계 기술>DB링크:데이터베이스에서 제공하는 DB링크 객체를 이용:수신 측에서 DB링크 생성, 송신 측에서직접 참조 DB연결:수신 측의 WAS에서 송신 측 DB접속하는 DB Connection pool을 생성 API/OpenAPI:송 싱츄크 DB로 데이터를 가져오고 제공하는 응용 프로그래밍 인터페이스 프로그램 JDBC:수신 측 프로그램에서 송신 DB와 연결하는 기사:DBMS유형, 서버 IP, Port, DB Instance정보 필요 하이퍼링크:웹 응용에서 이용 소켓:통신을 위한 프로그램 생성, 포토 할당:클라이언트의 통신 요청 시 연결하여 통신하기로<연계 시스템 구성>송신 시스템:데이터를 연계의 테이블 또는 파일 형태로 생성, 송신 수신 시스템:데이터 형식에 맞게 변환, 보존, 제공의 중계 서버:데이터 송수신, 상황의 모니터링,보안 강화<아키텍처>클라이언트 서버 구조:컴포넌트가 다른 컴포넌트에 서비스 요청 처리 계층 구조:모듈 응집 계층 SWMVC구조:모델-뷰-컨트롤러 사용자 인터페이스 응집도 높이는 데 많은 UI에 결함도 낮추는 데 모델마다 여러가지 뷰 가능 뷰는 모델의 데이터를 중앙에 보임 제어는 모델에게 명령을 보내기로 모델의 상태 변경 파이프 필터:입력 데이터 처리 결과 다른 시스템 전송 반복 오버 헤드 마스터-슬레이브: 실시간 시스템 마스터-연산, 통신, 조정,슬레이브 제어 슬레이브-요청 작업 처리<디자인 패턴>:모듈 설계시에 참조 방식 또는 예제 설계시에 자주 발생하는 문제에 대한 해결 패턴<디자인 패턴-재사용>코드의 품질 향상의 개발자의 의사 소통을 원활한 공통 언어 사용 SW품질 생산성 향상, 향후 변화에 대응 가능, 보수 유지용이<디자인 패턴-GoF(Gangs of Four)>생성-츄빌펙프싱 구조-오브콤데파풀프 행위-나머지*생성 추상 팩토리(Abstract Factory)빌더(Builder)펙토리메사ー도(FactoryMethod)-상위 인터페이스 정의, 하위 인스턴스의 생성 모델(Prototype)-인스턴스의 복제 싱글 튼(Singleton)유일한 인스턴스의 보장접근 제공*구조 어댑터(Adapter)-재사용 가능하게 중간에 맞추어 줌 브릿지(Bridge)-크효은브츄상츄은 분리독립 확장 콤퍼짓(Composite)데커레이터(Decorator)파사드(Facade)플라이 웨이트(Flyweight)프록시(Proxy)*행위 책임 사슬(Chanin of Responsibility)명령(Command)인터프리터(InterPreter)·이ー타ー페이레ー타ー(Iterator)중재자(Mediator)-통재 지시 중재자가 목표 달성 역 메멘토(Memento)옵저버(Observer)상태(State)전략(Strategy)-독립적인 알고리즘 선택 패턴 템플 릿메사ー도(Template Method)방문자(Visitor)<미들웨어>:표준화된 인터페이스를 제공:시스템 간의 데이터 일관성 유지:응용 프로그램-운영 환경 통신 서비스 제공:준비된 인프라의 구조 제공 WAS(Web Application Server):애플리케이션 실행 미들웨어 MOM(Message Oriented Middleware):메시지 지향 미들웨어 늦게 안정적인 응답 통합된 시스템으로 연결 역할의 메시지 큐 활용 비동기 방식 지원 RPC(Remote Procedure Call):원격 프로시저 호출 ORB(Object Request Broker):네트워크 호출 미들웨어<소프트웨어 설계 지침>모듈의 기능 예측할 수 있게 정의 이식성을 고려하고적당한 모듈의 크기 유지 결합도 최소화<소프트웨어 설계 방식>상향식:꼴찌에서 각 모듈 설계 결합 검사 하향식:하위 차원에서 상세 기능 중심 모듈 설계 개괄적 인터페이스, 이미 정의되고 있는 것<소프트웨어 설계 추상화 기법>추상화:개념을 세분화하고 구체화시키는 것 자료 추상화 제어 추상화 과정, 추상화 기능, 추상화<소프트웨어 공학 모델링>개발 팀 응용 문제 이해에 도움이 되는 공통된 개념 공유 역할 구조적 방법론·DFD, DD등 요구 사항의 결과 표현 객체 지향 방법론·UML표기법<목적>Instance 같은 클래스의 각 객체 Method:객체에 소속된 함수 Module:실행 코드와 오브젝트(함수, 반, 변수)의 다발 Class:객체 정의, 설계도, 틀,공통된 객체의 특성 Package:반을 제한하는 물리적 단위, 클래스 집합 Object:클래스 정의 내용을 메모리에 생성된 Operation:클래스의 동작 메시지(Message):객체의 행위 표현 캡슐화(Encapsulation):연산 묶음:은닉:결합도 낮추기:재활용 용이:관련된 데이터와 함수를 정리하고 외부와 경계를 만드는 것:필요한 인터페이스만 나타내는 것 다 형(Polymorphism):상속 하위 개체가 여러 형태의 특성을 갖는 것:코드 변경 하지 않고 반 쉽게 추가:오버로드 오버 라이<리눅스 명령어>uname:운영 체제리눅스 버전 확인 명령 ls:디렉토리 리스트 출력 cat:파일 출력 pwd:현재 디렉터리 출력<시스템 구성 요소>Input(입력)Process(처리)Output(출력)Control(제어):과정의 진행 감독 Feedback(피드백):결과 목표 달성을 위한 반복 처리<시스템의 품질 속성>:소프트웨어 아키텍처 설계에서…가용성(Availability)변경 용이성(Modifiability)성능 보안 사용 편의성(Usability)시험용 성<시스템 연계 기술>DB링크:데이터베이스에서 제공하는 DB링크 객체를 이용:수신 측에서 DB링크 생성, 송신 측에서직접 참조 DB연결:수신 측의 WAS에서 송신 측 DB접속하는 DB Connection pool을 생성 API/OpenAPI:송 싱츄크 D

모듈 F기준 fan-in:3개(B, C, D)fan-out:2개(G, H)<현행 시스템 분석>DBMS네트워크 운영 체제 플랫폼 기능, 성능, 특성 비즈니스 융합<CASE>:Computer Aided Software Engineering자동 화재 사용송소후토우에아 품질 향상, 보수 간이 상위 CASE:모순의 검사, 오류 검증자료의 흐름을 작성 하위 CASE:원시 코드 생성 통한 것 CASE:개발 사이클 전체 과정의 지원<CASE의 원천 기술>구조적 수법 프로토 타입 기술 자동 프로그래밍 기술 정보의 저장고 기술 분산 처리 기술<UML의 기본 구성 요소>ThingsDiagramRelationship띵-다 리<UML>:Unified Modeling Language객체 지향 시스템 개발 시의 형태 표현 방법론 x프로세스 x모델 언어 o기능적 모델:사용자:Usecase Diagram의 정적인 모델- 크게 겍콤 컵 복패[반, 객체, 패키지, 컴포넌트, 복합 구조 배치]:객체, 속성, 연관 관계, 운영 시스템 구조:Class Diagram클래스의시스템 구조 동적 모델[유스 케이스, 상태, 활동, 시퀀스, 통신, 상호 작용]:시스템 내부 동작:Sequence Diagram-객체의 메시지 시강승:State Diagram-객체의 상태, 변환:Activity Diagram-업무 흐름, 생명 주기:순 다음 그림(행위도)-동적 상호 작용 시간 개념 모델링-수직 방향 시간의 흐름 회귀 메시지 제어 블록 등의 구성 확장 모델:《밤의 스테레오 타입 객체 표현<UML관계>Dependency(의존):변경 시다른 사물에 영향 Realization(실체화):운영 수행 지정 Generalization(일반화):일반-특수 관계’is-a’Association(관련):연결’has a'<요구 사항의 개발 프로세스>도출->분석->명세->확인 유도해야 분석 명세 작성 가능 확인 가능하다<요구 사항 모델링>AgileUse Case DiagramSequence Diagram<요구 사항의 결과물 표현 모델링>Data Flow DiagramUML DiagramE-R Diagram<요구 분석>비용과 일정에 대한 제약의 설정의 타당성 조사 요구 정의 문서화<기능적 요구 분석>:시스템 동작의 관점 시스템 실행 행위, 구체화 시스템의 제공 기능 정의, 입력, 출력,DB통신<비 기능적 요구 분석>:수행에 보조적 요구 사항 시스템 기능 이외의 요구 사항 시스템의 품질, 제약 사항, 성능, 보안의 사용 용이성, 효율성, 신뢰성, 이식성, 유연성, 확장성<요구 사항의 필요성>변경 비용 편익 곤란성 변경 추적의 변경의 영향 평가<요구 사항 대조표>유효성(Validity):고객의 요구를 충족시키는 확인일 관성(Consistency):모순, 제약 조건 확인 완결성(Completeness):고객 교구 기능을 포함 확인 현실성(Realism):예산 기술,일정 실행 가능성 확인 검증 가능성(Verifiability):요구 사항 일치하는지 확인<요구 사항 명세 기법>정형의 명세 법:수학적 Z정확하고 간결하는 이해도 낮은 비정형의 명세 법:자연 언어 간편 다양 불명 모호 이해도 높은<요구 사항 검증 단계>정형 기술 검토 활용의 동료 검사:2~3명 리뷰의 형태 워크 스루:불량품의 조기 검출이나 인스펙션:전문가 또는 팀 검사<Agile에쟈일>상호 작용 협업의 변화 대응 동작 SW,의사 소통의 점증적 짧은 주기<에쟈일 방법론>스크럼(Scrum)익스트림 프로그래밍(XP)의 칸 발키눙 주도의 개발(FDD)크리스탈 패밀리 적응형 소프트웨어 개발(ASD)<스크럼(Scrum)>스크럼 마스터(Scrum Master):스크럼 프로세스만 스크럼 활용 지원 제품 벡로 그(Product Backlog):해결의 리스트의 요구 사항아키텍처 정의 등 스프린트(Sprint):2~4주간 진행 속도(Velocity):한번의 스프린트에서 한 팀의 제품 베크-그 부담의 추정치<XP(eXtreme Programming)기본 원리>Pair Programming:PP개발자 공동 작업 Collective Ownership:CO공동 소유 Continuous Integration:CI지속죠프 통합 PG계발 계획 수립 SR 짧은 배포 주기 meta문장형 시 스테 아키텍처 SD단순 설계<익스트림 프로그래밍 XP원칙>의사 소통 단순성 피드백 용기 존중 소통<익스트림 프로그래밍>에쟈일 방법론 소규모에 적절한 원리와 경험,소스 코드에 중점<UI설계 툴>목합(Mockup):정적 형태 모형 시각적으로만 구성 배치 보통 실제로 구현되지 않는 스토리 보드(Storyboard):최종적 참고 작업 지침서의 왼쪽에는 UI화면,오른쪽에는 디스크립션 프로토 타입(Prototype):동적인 형태의 모형 실제 테스트 가능한 활용 사례(Usecase):사용자 측 실행 내용 기술<EAI>:Enterprise Application Integration기업 애플리케이션 통합 구조적 통합 방안<FEP>:Front-End Process프로세서 처리 전에 미리 처리 시간을 깎아 주는 프로그램이나 하드웨어<GPL>:General Public License자유 소프트웨어 라이선스<Duplexing>이중화(데이터베이스 후에복 기법)<인터페이스(Interface)>소프트웨어의 연결 SW의 순서적 연산에 의해서 SW실행<Component>독립적 존재 시스템 부분 재활용된 모든 단위 인터페이스를 통해서만 접근<Feedback>시스템 상태, 지시 보임 사용자의 해석 돕는 것<NUI>:Natural User Interface멀티 터치 동작 인식의 사용자의 자연스러운 움직임 인식 사용자 인터페이스<VUI>:Voice User모듈 F기준 fan-in:3개(B, C, D)fan-out:2개(G, H)<현행 시스템 분석>DBMS네트워크 운영 체제 플랫폼 기능, 성능,특성 비즈니스 융합<CASE>:Computer Aided Software Engineering자동 화재 사용송소후토우에아 품질 향상, 보수 간이 상위 CASE:모순의 검사, 오류 검증 자료의 흐름을 작성 하위 CASE:원시 코드 생성 통한 것 CASE:개발 사이클 전체 과정의 지원<CASE의 원천 기술>구조적 수법 프로토 타입 기술 자동 프로그래밍 기술 정보의 저장고 기술 분산 처리 기술<UML의 기본 구성 요소>ThingsDiagramRelationship띵-다 리<UML>:Unified Modeling Language객체 지향 시스템 개발 시의 형태 표현 방법론 x프로세스 x모델 언어 o기능적 모델:

Scroll to Top