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
260
Xamarin으로 모바일 앱 개발 빠르게 시작하기
ibluemind
1
260
AWS 클라우드 입문하기
ibluemind
2
440
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
390
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
260
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
200
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
5
390
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
140
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
2
110
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
430
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.2k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
290
Ruby and LLM Ecosystem 2nd
koic
1
620
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
Balancing Empowerment & Direction
lara
5
940
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Unsuck your backbone
ammeep
672
58k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
110
So, you think you're a good person
axbom
PRO
2
2k
The SEO identity crisis: Don't let AI make you average
varn
0
410
Exploring anti-patterns in Rails
aemeredith
2
290
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
A designer walks into a library…
pauljervisheath
210
24k
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