6. Introduction
Component-Based Development
What is Software Component?
• A software component is a unit of composition with contractually specified
interfaces and explicit context dependencies only.
• It can be deployed independently and is subject to composition by third
parties
(Szyperski, Queensland University)
13. Introduction
Iterative Development
반복적 개발(Iterative Development)
• 전체 개발을 여러 번의 반복으로 나눔
• 한 번의 반복이 요구사항부터 구현, 테스트까지 포함
• 소프트웨어를 점진적으로 개발
• 사용자의 피드백(Feedback)을 자주 받을 수 있음
22. Introduction
Software Architecture (cont.)
What Is Architectural View?
• 특정 관점(perspective)에서의 시스템에 대한 간략한 기술.
• 특정 이해관계자(stakeholder)의 의도를 반영.
• 아키텍처상 중요한 내용들만을 포함한다.
• 소프트웨어 시스템의 아키텍처는 여러 개의 아키텍처 관점(Architectural
View)들로 구성됨.
31. Introduction
Contents
The Process In This Course
The Process
•
•
•
•
•
Business Modeling
Requirements
Analysis
Architectural Design
Design
Process Summary
Configurations
32. Introduction
The Process In This Course
Software Design Process
Features
• An Agile Process
• From Requirements to Design
• Use-Case Driven
• Configurable for not only OOAD but also CBD
• Make the best use of UML
49. Introduction
Lecture Summary
현대의 소프트웨어 개발에서는 소프트웨어 프로세스, 반복
적 개발, CBD, UML, MDA 등의 핵심 이슈들이 적용되고 있
다.
본 과정에 적용할 소프트웨어 설계 프로세스는 비즈니스 모
델링, 분석, 아키텍처 설계, 설계 단계로 구성되어 있다.