Object Oriented Software Analysis and Design

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Object-Oriented Programming IUP02 At Exceep camp.
Advertisements

การวิเคราะห์และออกแบบระบบ
หลักสูตรวิทยาศาสตร มหาบัณฑิต สาขาวิชาการพัฒนา ซอฟต์แวร์ด้านธุรกิจ ทำไมจึงเรียนสาขานี้ – บุคลาการด้านการพัฒนาซอฟต์แวร์ยังเป็นที่ ต้องการในบริษัทที่ปรึกษา.
Business System Analyst
Business Modeling (บางส่วนอ้างอิงจาก ดร.อดิศร ณ อุบล)
Shell Script Programming (Loop) 1 Unix Operating System Computer Science Department (FLAS-KU) - Prasertsak U. อ้างอิงจาก freeos.
Object-Oriented Analysis and Design
บทที่ 5 การจำลองแบบเชิงวัตถุ Object Modeling
Object-Oriented System Analysis and Design
CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design)
Component-Oriented Programming with C#
ระบบฐานข้อมูลเชิงวัตถุ
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
JAVA PROGRAMMING PART IV.
ที่ใช้ใน Object-Oriented Design
การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)
การวิเคราะห์และออกแบบระบบเชิงวัตถุ Object Oriented Analysis and Design
Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)
MAP TA PHUT HEALTH DATABASE (RAYONG COHORT STUDY).
Data Modeling Using the Entity-Relationship Model
Modeling and Activity Diagram
Unified Modeling Language
ACCESS Control.
อาจารย์ วิทูร ธรรมธัชอารี. เนื้อหาในการเรียน  เครื่องมือในการออกแบบและพัฒนาระบบ บัญชีด้วยคอมพิวเตอร์  ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล  การวางระบบบัญชีด้วยคอมพิวเตอร์
Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
Gas-Geothermal Combined Heat Exchanger for Gas Heating
ความรู้เบื้องต้นเกี่ยวกับเทคโนโลยีและนวัตกรรมการศึกษา
Information Systems Development
การจัดทำมาตรฐานข้อมูล
1 Discharge Summary Completeness Discharge Summary Completeness สูตรการคำนวณ จำนวนผู้ป่วยในที่แพทย์ขียนใบสรุปการรักษาผู้ป่วยทันทีที่ผู้ป่วยจำหน่าย.
Chapter 3 : แบบจำลองฐานข้อมูล (Data Model)
Integrity Constraints
Database Planning, Design, and Administration
Thai Quality Software (TQS)
บทที่ 14 กลวิธีการทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
2 การพัฒนาระบบสารสนเทศ (Information System Development)
บทที่ 9 วิศวกรรมการออกแบบ (Design Engineering)
Inheritance and Method Overriding
ที่รองแขนฟองน้ำ หลักการและเหตุผล : เนื่องจากห้องผ่าตัดมีอุณหภูมิเย็น ผู้ป่วยที่มาผ่าตัดส่วนมากเวลาทำผ่าตัดจะจัด ท่านอนหงายราบ วัตถุประสงค์ : :
การแบ่งส่วนตลาด การตลาดเป้าหมาย และการวางตำแหน่งผลิตภัณฑ์ Market Segmentation, Market Targeting, and Product Positioning การแบ่งส่วนตลาด (Market Segmentation)
บทที่ 6 วิศวกรรมระบบ (System Engineering)
บทที่ 5 ความต้องการ วิศวกรรมความต้องการ แบบจําลองการวิเคราะห์
Object-Oriented Programming Paradigm
การวิเคราะห์ซอฟต์แวร์
การวิเคราะห์ระบบงาน ขั้นตอนวิเคราะห์ จะเริ่มต้นด้วยการวิเคราะห์ระบบงาน
Register คลิก register.
การพัฒนางานผู้ป่วยนอก
การออกแบบระบบ System Design.
ส่วนการทะเบียนทั่วไป สำนักบริหารการทะเบียน
Class Diagram.
Object-Oriented Programs Design and Construction
Software Engineering ( )
แนะนำรายวิชา การออกแบบระบบการจัดการเรียนรู้บนเครือข่าย
บทที่ 4 ฐานข้อมูล.
Yeunyong Kantanet School of Information and Communication Technology
Review of the Literature)
การจัดทำแผนอัตรากำลัง 3 ปี
บทที่ 6 การแบ่งส่วนตลาด การตลาด เป้าหมาย และการวางตำแหน่ง ผลิตภัณฑ์
Object-Oriented Analysis and Design
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
การใช้งานฐานข้อมูล Web of Science
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
Inheritance Chapter 07.
การแบ่งส่วนตลาด การตลาดเป้าหมาย และการวางตำแหน่งผลิตภัณฑ์ Market Segmentation, Market Targeting, and Product Positioning การแบ่งส่วนตลาด (Market Segmentation)
การพัฒนาระบบสารสนเทศ (Information System Development)
วาระประชุมฝ่ายส่งเสริมสุขภาพ ประจำเดือน มีนาคม 2562
การพัฒนาระบบสารสนเทศ
วิศวกรรมซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
การรวบรวมข้อมูลข่าวสารการตลาด (The Marketing Information Gathering)
ใบสำเนางานนำเสนอ:

Object Oriented Software Analysis and Design อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tkorinp@hotmail.com)

Object Oriented Software Analysis and Design Requirements Analysis The Problem Listing Nouns and Verbs Identifying Things Outside The Scope of The System Identifying Synonyms Identifying Potential Classes Identifying Potential Attributes Identifying Potential Methods Identifying Common Characteristics Refining Our Design using CRC Cards Elaborating Classes

Requirements Analysis การพัฒนาโปรแกรมคอมพิวเตอร์ใด ๆ ต้องเริ่มต้นด้วยการระบุความต้องการ วิศวกรต้องการออกแบบสะพานด้วยซอฟต์แวร์เพื่อสร้างแบบจำลองสามมิติ ทำให้ผู้คนสามารถเห็นภาพสะพานที่สร้างจริง ผู้จัดการอาจต้องการซอฟต์แวร์ที่จะติดตามการทำงานของบุคคลและมอบหมายงานให้บุคคลากรตามความสามารถในโครงการ เราจะได้ ความต้องการ ทางด้านซอฟต์แวร์ การออกแบบเชิงวัตถุจะตอบสนองความต้องการได้หรือไม่? วิศวกรซอฟต์แวร์ที่มีความเชี่ยวชาญในการวิเคราะห์ความต้องการ ความเข้าใจว่าสิ่งใดคือความต้องการด้านซอฟต์แวร์

Requirements Analysis 1) การสัมภาษณ์และลูกค้าผู้ใช้ศักยภาพของระบบที่จะหาสิ่งที่พวกเขาพูดเกี่ยวกับระบบที่จำเป็น 2) การจัดเก็บเอกสารผลลัพธ์ของการสนทนาเหล่านี้ 3) การระบุคุณสมบัติที่สำคัญของระบบที่จำเป็นต้องใช้ 4) การผลิตการออกแบบเบื้องต้น (และอาจเป็นต้นแบบของระบบ) 5) การประเมินแผนการเริ่มต้นเหล่านี้กับลูกค้าและผู้ที่มีศักยภาพ 6) ทำซ้ำขั้นตอนข้างต้นจนกว่าจะเสร็จสิ้นการออกแบบได้วิวัฒน์

Requirements Analysis การวิเคราะห์ความต้องการเป็นทักษะ แต่มุ่งเน้นไปที่ขั้นตอนที่ 3-4 คือ รายละเอียดของระบบ ประสบการณ์ ทักษะการออกแบบเป็นปัจจัยที่สำคัญ การผลิตออกแบบที่เรียบง่ายและมีรูปแบบเป็นสิ่งสำคัญ หากต้องการซอฟต์แวร์ที่ทำงานได้ดีและง่ายต่อการพัฒนา แต่การออกแบบที่ดี คือ สิ่งที่ไม่ง่ายและต้องใช้ประสบการณ์เป็นปัจจัยสำคัญ

Requirements Analysis เราเรียนรู้หลักการได้มากมาย แต่ประสบการณ์ ทำให้เกิดความชำนาญในการวิเคราะห์ความต้องการและออกแบบที่ดี พื้นฐานของการวิเคราะห์ปัญหา เริ่มจากการกำหนดรายละเอียดของปัญหา รายชื่อคำนามและคำกริยา ระบุสิ่งที่อยู่นอกขอบเขตของระบบ ระบุสิ่งที่เกี่ยวข้องกัน ระบุClassที่มีศักยภาพ ระบุแอตทริบิวต์ที่มีศักยภาพ ระบุวิธีการที่มีศักยภาพ ระบุลักษณะทั่วไป การปรับแต่งการออกแบบของเราใช้บัตร CRC กำหนดรายะเอียดทั้งหมดของคลาส

The Problem การออกแบบจำเป็นต้องทราบรายละเอียดทั้งหมด การวิเคราะห์ต้องมีความรู้ ความเข้าใจ

Listing Nouns and Verbs ขั้นตอนแรกในการวิเคราะห์ คือ การระบุคำนามและคำกริยา คำนามบ่งบอกถึง หน่วยงานหรือวัตถุ object บางส่วนจะclass บางส่วนเป็นแอตทริบิวต์ attribute คำกริยาบ่งบอกถึง การกระทำที่จะดำเนินการ บางส่วนเป็นวิธีการ (Methods) คำนามและคำกริยาระบุไว้ในรูปแบบของเอกพจน์ (เช่น ‘books' กลายเป็น ‘book') คำนามและคำกริยาวลีที่มีการใช้คำนาม หรือ กริยาเพียงอย่างเดียวไม่เพียงพอ เช่น คำกริยา 'พิมพ์' ไม่เป็นที่ชัดเจนเป็น 'พิมพ์ใบเสร็จรับเงิน'

Identifying Things Outside The Scope of The System ระบุสิ่งที่อยู่นอกขอบเขตของระบบ สิ่งสำคัญในการออกแบบระบบคือ การระบุปัญหาที่เกี่ยวข้อง รายละเอียดบางส่วนตามบริบท ตามวัตถุประสงค์ ส่วนที่เกี่ยวข้องกับการออกแบบ คำอธิบายจากผู้ใช้ระบบ อาจหมายถึงงานที่จะดำเนินการ คำอธิบายฟังก์ชั่นที่จะต้องดำเนินการในระบบ ระบุสิ่งที่ไม่เกี่ยวข้อง และกำหนดปัญหาพื้นฐานที่จะทำได้

Identifying Synonyms คำพ้องรูปหรือพ้องเสียง นำไปสู่การซ้ำซ้อนและสับสน Nouns :- .. world ranking professional=professional runner .. fund-raising amateur=amateur runner .. runner=competitor Note runner is not a synonym of professional runner as some runners are amateurs. Verbs :- .. marathon=compete .. check status=display status .. print collection list = print list .. finish race = record specified time

Identifying Potential Classes คำนาม แสดงให้เห็นข้อมูลและการดำเนินงานควรจะได้รับการบรรจุเข้าด้วยกัน การระบุข้อมูลที่เกี่ยวข้อง แต่ไม่มีการดำเนินงานสามารถเก็บไว้เป็นคุณลักษณะของClass

Identifying Potential Attributes การระบุคุณลักษณะ คำนามอื่น ๆ ที่ไม่สามารถนำมาใช้ในการระบุ class

Identifying Potential Methods

Identifying Common Characteristics ระบุลักษณะทั่วไป Class ที่เลือกมีคุณลักษณะที่เกี่ยวข้องและวิธีการ โครงสร้างของclass ในแต่ละลำดับชั้นที่เหมาะสม โดยการระบุคุณลักษณะทั่วไปและคุณสมบัติพิเศษ

Refining Our Design using CRC Cards การปรับแต่งสิ่งที่ออกแบบด้วยการใช้บัตร ซีอาร์ซี เมื่อระบุ Class หลัก แล้วกำหนดคุณลักษณะและวิธีการ กำหนดประเภทข้อมูลและรายละเอียดต่างๆ ในแผนภาพ UML การวิเคราะห์และการปรับแต่งการออกแบบจึงเป็นกระบวนการที่ซับซ้อนมาก เพื่อให้เห็นสิ่งที่จะทำจริง การออกแบบครั้งแรกไม่สมบูรณ์ ต้องตรวจสอบการออกแบบเพื่อแก้ไขปัญหาที่อาจเกิดขึ้น การใช้บัตร CRC เพื่อตรวจสอบการทำงานในสถานการณ์ที่แตกต่าง

Refining Our Design using CRC Cards

การตรวจสอบคลาส เนื้อหาในบัตร CRC ทำให้สามารถวาดแผนภาพ คลาสสำหรับการออกแบบ ที่นำเสนอได้

Summary การวิเคราะห์และออกแบบเชิงวัตถุเป็นการวิเคราะห์ทั้งระบบและความต้องการ จากการจัดเก็บรวบรวม เพื่อให้สามารถวิเคราะห์และออกแบบได้จำเป็นต้องใช้ประสบการณ์และเครื่องมือเข้ามาช่วยในการนำไปสร้างในรูปแบบทางซอฟต์แวร์ ข้อความที่ได้จากการรวบรวมความต้องการ ทำให้เราทราบถึงส่วนประกอบทางด้านซอฟต์แวร์ ซึ่งวัตถุต่างๆ เชื่อมโยงกันตามแนวคิดเชิงวัตถุ