Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
웹 어플리케이션 설계와 구현 I - 요구사항 분석에 관하여
Search
Manjong Han
July 30, 2018
Programming
1
330
웹 어플리케이션 설계와 구현 I - 요구사항 분석에 관하여
Manjong Han
July 30, 2018
Tweet
Share
More Decks by Manjong Han
See All by Manjong Han
Git을 이용한 더 나은 버전관리
ibluemind
2
1.2k
웹 어플리케이션 설계와 구현 III - 소프트웨어 구현에 관하여
ibluemind
1
150
웹 어플리케이션 설계와 구현 II - 소프트웨어 설계에 관하여
ibluemind
1
250
Xamarin으로 모바일 앱 개발 빠르게 시작하기
ibluemind
1
260
AWS 클라우드 입문하기
ibluemind
2
430
Other Decks in Programming
See All in Programming
SQL Server 2025 LT
odashinsuke
0
130
Basic Architectures
denyspoltorak
0
170
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
380
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
470
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
愛される翻訳の秘訣
kishikawakatsumi
3
370
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
980
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
300
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
6
1.9k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.1k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
10k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How GitHub (no longer) Works
holman
316
140k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
92
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
37
Skip the Path - Find Your Career Trail
mkilby
0
39
We Have a Design System, Now What?
morganepeng
54
8k
Designing for Performance
lara
610
70k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
KATA
mclloyd
PRO
33
15k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Transcript
ਢ যܻா࣌ ࢸ҅৬ ҳഅ I - ਃҳࢎ೦ ࠙ࢳী ҙೞৈ 2018.07.30
@ೠࣁࢎߡࠁউҊ١Ү ٚۑ CTO ೠ݅ઙ
ࣗਝযۆ? • ࢎۈ ೞ٘ਝযܳ زदఃӝ ਤ೧ ࢎਊೞח ࣻױ • ࠁܳ
ੋध, ࠙ࢳ, ೞח ೡਸ ࣻ೯ • ஹೊఠ৬ ࣗాೞݴ ই٣যܳ पഅೞҊ নೠ ޙઁܳ ೧Ѿೞח بҳ
ࣗਝযۆ?
ࣗਝযۆ? • ӝמ ࠙ܨ
ࣗਝযۆ? • ׳ ߑधী ٮܲ ࠙ܨ - ಁః SW ‣
SW সীࢲ ਵ۽ ࢸ҅ೞৈ ࢚সਵ۽ ౸ݒೞח ࣗਝয ‣ MS ਦب, MS য়ೖझ, ೠஹয়ೖझ, যب࠺ CC, ... - ޙഋ SW ‣ ౠ Ҋё(ӝস) ਃҳܳ ݅दఃӝ ਤ೧ ઁೠ ࣗਝয ‣ SI(दझమ ా) ۽ં, ߬٣٘ SW, ...
ࣗਝয ѐߊۆ? • ۽షఋੑ(prototype) • োҳ ࢤޛ(R&D) • ࢚ಿചػ ಁః(production)
ࣗਝয ѐߊۆ? • ୭ઙ ࢎਊо ࢎਊೡ ࣻ ח ࣻળ ৮ࢿبо
ы୶যח दӝ ࢚ • ࢚۽ زغ ঋѢա ࢚ೞ ঋও؍ য়زਸ ୭ࣗച
ࣗਝয ѐߊۆ? • ୭ઙ ࢎਊо ࢎਊೡ ࣻ ח ࣻળ ৮ࢿبо
ы୶যח दӝ ࢚ • ࢚۽ زغ ঋѢա ࢚ೞ ঋও؍ য়زਸ ୭ࣗച ࢤࢿ ಿ
ࣗਝয ѐߊۆ? • “ࣗਝয ਤӝ(software crisis)” - ഛೞҊ ೧ೡ ࣻ
Ҋ, Ѩૐ оמೠ ஹೊఠ ۽Ӓ۔ਸ ࢿೞח Ѫ ݃ա য ۰оܳ ڷೞח ݈ - दझమ ӏݽചী ٮܲ ࣗਝয न܉ࢿ ೞ, ѐߊ࠺ ૐ, ҅ദ ো - ߑউ ‣ ҕ Ӕ(নೠ ߑߨۿ) ‣ ળച(ࢎਊࢿ ૐ, ݽٕച) ‣ زച بҳ ࢎਊ
ࣗਝয ѐߊۆ? • “ࡄ ജ হ(No silver bullet)” - Frederick
P. Brooks, 1986. - ࣗਝয ѐߊ ࠂࢿਸ ೠߣী ೧Ѿೡ ݃ߨ(ࡄ ജ) হ - ߑউ ‣ ࣗਝযܳ ٜ݅ ঋҊ, ࣗਝয ઁಿਸ ҳݒೠ ‣ ਃҳࢎ೦ ҳച, ࡅܲ ۽షఋೝ ‣ ѐߊ
ࣗਝয ѐߊۆ? • ױ҅ ۽ࣁझ - ࣗਝয ޙઁܳ ৈ۞ ױ҅۽
ա־য ೧Ѿೞח ߑध ਃҳࢎ೦ ࠙ࢳ ࢸ҅ ҳഅ పझ ਬࠁࣻ ҅ദ
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - જ Ѫਸ
ࡅܰҊ խ࠺হѱ ѐߊೞח Ѫਸ оמೞѱ - “о߶ ۽ࣁझ” - less document-oriented, code-oriented - ഋѢա ஏী ೠ Ѫ ইצ adaptive ೞҊ ҃ਵ۽
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - ਸ оѱ:
‣ ҕҗ بҳࠁ ѐੋҗ ࢚ഐਊਸ ‣ ನҚੋ ޙࢲࠁ زೞח ࣗਝযܳ ‣ ҅ড ഈ࢚ࠁ Ҋёҗ ഈ۱ਸ ‣ ҅ദਸ ٮܰӝࠁ ߸ചী ೞӝܳ
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - Extreme Programming(XP)
‣ Test-Driven Development ‣ Pair Programming ‣ Continuous Integration ‣ Refactoring
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - Scrum ‣
Backlog ‣ Sprint (Iteration) ‣ Scrum Master ‣ Scrum Meeting
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - Kanban ‣
Card ‣ WIP Limit ‣ Kaizen
ࣗਝয ѐߊۆ? • গੌ ࣗਝয ѐߊ ߑߨۿ - Lean ‣
MVP ‣ Build - Measure - Learn
ਃҳࢎ೦ ࠙ࢳ • ‘যڌѱ(How)’о ইפۄ ‘ޖਸ(What)’ী ୡ • ‘೧Ѿߑߨ’ ઁदо
ইפۄ ‘ޙઁ’ܳ • ࣗਝযо ޖਸ ਤ೧ ਃೠ ഛ ೧ • ೧ೠ Ѫਸ ܲ ѐߊীѱ ഛ ׳ • दझమ ѐߊ ߑೱ ҙܻܳ ਤ೧ ਃ
ਃҳࢎ೦ ࠙ࢳ
ਃҳࢎ೦ ࠙ࢳ • ࢎਊח زೞח SWܳ ࠁӝ ীח पઁ۽ न
ޖਸ ਗೞח ঌ ޅೠ. • ߓ҃ ध ର, ਊয ࠛੌ ١ ࢎ ࣗా য۰ਸ ೧Ѿ೧ঠ ೠ. • ੌߑੋ ࢎࣗాࠁ ҕхਸ ా೧ࢲ SWо ೧Ѿೞ۰ח ޙઁܳ ೧ೠ. • ࢎਊ৬ ѐߊ р Ѽ ରܳ ગഃ ࢲ۽ ժٙ оמೠ ݾܳ ࣁਕঠ ೠ.
ਃҳࢎ೦ ࠙ࢳ • ਃҳࢎ೦ ࣻ(୶) ߑߨ - ੋఠ࠭: ചܳ
ా೧ ࣗਝযо যڌѱ ز೧ঠ ೞחী ೠ Ѽਸ ٛ ח ߑߨ - ҙ: ࣗਝযо ਃೠ അীࢲ সޖ ژח ۽ࣁझо যڃ ߑߨਵ۽ ೯غҊ ח ெࠁח ߑߨ - ࠳ۨੋझష߁: ࣗࣻ ੋਗ ӏਸ ࣁਕ ৈ۞ ই٣যо ઁदؼ ࣻ ب۾ ਸ ೯ೞৈ ೖ٘ߔਸ ܻೞח ߑߨ - ۽షఋೝ: ࢚غח ઁಿ زೞח ݽणਸ ݽഋਵ۽ ٜ݅যࢲ ܻ ೖ٘ߔਸ ߉ӝ ਤೠ ߑߨ
ਃҳࢎ೦ ࠙ࢳ • Oven(https://ovenapp.io)ਸ ਊೠ ۽షఋೝ पण
ਃҳࢎ೦ ࠙ࢳ • ਃҳࢎ೦ ݽ؛݂ - ҳઑ ࠙ࢳ(structured analysis) ߑߨ:
ؘఠ ܴਸ बਵ۽ ݽٕചೞৈ ӝמ ҙਵ۽ दझమਸ അೞח ߑߨ - ёೱ ࠙ࢳ(object-oriented analysis) ߑߨ: ؘఠ৬ ۽ࣁझܳ ೣԋ ङച ೠ ёܳ ױਤ۽ दझమਸ അೞח ߑߨ
ਃҳࢎ೦ ࠙ࢳ • ёೱ ࠙ࢳ(Object Oriented Analysis, OOA) - ࢎਊ
ਃҳࢎ೦ਸ ࠙ࢳೞৈ ਃҳػ ޙઁ৬ ҙ۲ػ ݽٚ ېझ(ё), ҙ۲ ࣘࢿ ߂ ো, ё р ҙ҅١ਸ ೞৈ ݽ؛݂ೞח Ѫ - ޙઁ ীࢲ ёա ѐ֛ٜਸ ইࢲ ӝࣿೞחؘ ਸ ك.
ёೱ ࣗਝয ѐߊ • ҳઑ SW ѐߊ ߑߨۿ - ҳઑ
࠙ࢳ(Structured Analysis) - ҳઑ ࢸ҅(Structured Design) - ҳઑ ۽Ӓې߁(Structured Programming) • ёೱ SW ѐߊ ߑߨۿ - ёೱ ࠙ࢳ(Object Oriented Analysis, OOA) - ёೱ ࢸ҅(Object Oriented Design, OOD) - ёೱ ۽Ӓې߁(Object Oriented Programming, OOP)
ёೱ ࣗਝয ѐߊ • ёೱ ۽Ӓې߁(Object Oriented Programming, OOP) -
۽Ӓ۔ਸ ৈ۞ ѐ ة݀ػ ױਤ, “ё”ٜ ݽਵ۽ ঈೞҊ ೞח Ѫ - “ஹೊఠ ۽Ӓ۔ਸ അप ࣁ҅ী ࡁয ղմ ѐߊ ߑߨ” - ۽Ӓې߁ਸ ؊ ߓӝ औѱ ೞҊ ࣗਝয ѐߊҗ ࠁࣻܳ рಞೞѱ ೞݴ, ࠁ ҙੋ ٘ ࠙ࢳਸ оמೞѱ ೞח ਸ ыҊ . - ۽Ӓ۔ਸ ਬোೞҊ ߸҃ ਊೞѱ ٜ݅ӝ ٸޙী ӏݽ ࣗਝয ѐߊী ݆ ࢎਊػ.
ёೱ ࣗਝয ѐߊ • ёೱ ۽Ӓې߁(Object Oriented Programming, OOP) -
ё(object) ‣ data + operation on data ‣ instance of class - ېझ(class) ‣ description, abstraction - ݫࣁ(message) ‣ ё р ࢚ഐ ਊ(ݫࣗ٘ ഐ) ࣻױ
ёೱ ࣗਝয ѐߊ • ёೱ ۽Ӓې߁(Object Oriented Programming, OOP) -
୶࢚ച(abstraction) ‣ ࢚ࣁೠ ղਊਸ ऀӝҊ ೨बੋ ࠗ࠙(ౠ)ਸ ъઑೞৈ ݽ؛ച - ङച(encapsulation) ‣ ࠁ ץਸ ా೧ ё р Ѿبܳ хࣗदெ ਬࠁࣻ ਊ, ࢎਊࢿ ૐ - ࢚ࣘࢿ(inheritance) ‣ ೞਤ ఋੑীࢲ ࢚ਤ ఋੑ ӝמਸ ࢎਊೞৈ ഛೡ ࣻ ب۾ ೲਊ - ഋࢿ(polymorphism) ‣ ೞਤ ఋੑীࢲ ࢚ਤ ఋੑ ઁҕೞח ߑߨਸ ా೧ Ҋਬೠ زਸ ࣻ೯ оמ
Reference https://www.spri.kr/posts/view/21850?code=annual_reports https://en.wikipedia.org/wiki/Software_crisis https://en.wikipedia.org/wiki/No_Silver_Bullet https://johngrib.github.io/wiki/No-Silver-Bullet/ https://en.wikipedia.org/wiki/Systems_development_life_cycle https://en.wikipedia.org/wiki/Agile_software_development http://cjmyun.tripod.com/Knowledgebase/ConceptsOfObjectOriented.htm https://www.slideshare.net/plusjune/ss-46109239