ਢ যܻா࣌ ࢸ҅৬ ҳഅ I- ਃҳࢎ೦ ࠙ࢳী ҙೞৈ2018.07.30 @ೠࣁࢎߡࠁউҊ١Үٚۑ CTO ೠ݅ઙ
View Slide
ࣗਝযۆ?• ࢎۈ ೞ٘ਝযܳ زदఃӝ ਤ೧ ࢎਊೞח ࣻױ• ࠁܳ ੋध, ࠙ࢳ, ೞח ೡਸ ࣻ೯• ஹೊఠ৬ ࣗాೞݴ ই٣যܳ पഅೞҊ নೠ ޙઁܳ ೧Ѿೞח بҳ
ࣗਝযۆ?
ࣗਝযۆ?• ӝמ ࠙ܨ
ࣗਝযۆ?• ׳ ߑधী ٮܲ ࠙ܨ- ಁః 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)- ҳઑ ۽Ӓې߁(StructuredProgramming)• ёೱ SW ѐߊ ߑߨۿ- ёೱ ࠙ࢳ(Object OrientedAnalysis, OOA)- ёೱ ࢸ҅(Object OrientedDesign, OOD)- ёೱ ۽Ӓې߁(ObjectOriented 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)‣ ೞਤ ఋੑীࢲ ࢚ਤ ఋੑ ઁҕೞח ߑߨਸ ా೧ Ҋਬೠ زਸ ࣻ೯ оמ
Referencehttps://www.spri.kr/posts/view/21850?code=annual_reportshttps://en.wikipedia.org/wiki/Software_crisishttps://en.wikipedia.org/wiki/No_Silver_Bullethttps://johngrib.github.io/wiki/No-Silver-Bullet/https://en.wikipedia.org/wiki/Systems_development_life_cyclehttps://en.wikipedia.org/wiki/Agile_software_developmenthttp://cjmyun.tripod.com/Knowledgebase/ConceptsOfObjectOriented.htmhttps://www.slideshare.net/plusjune/ss-46109239