รายงานฉบับนี้จัดทำขึ้นในรายวิชา ม.อ.452 การวิเคราะห์และออกแบบระบบสารสนเทศ (MI452 Information System Analysis and Design) ภาคเรียนที่ 2 ประจำปีการศึกษา 2556 ในโครงการที่มีชื่อว่า บ้านให้อาหารสัตว์ผ่าน Application ด้วย Arduino ซึ่งเนื้อหาภายในรายงาน ประกอบด้วย การนำเสนอกระบวนการออกแบบและพัฒนาซอฟต์แวร์ (System Development Life Cycle) จำนวน 6 กระบวนการ ซึ่งประกอบด้วย Process 1 Identity problem and obtain approval, Process 2 Plan and monitor the project (Plan and Monitor Activities), Process 3 Discover and understand details (Analysis Activities), Process 4 Design system components (Design Activities), Process 5 Build, test, and integrate system (Implementation Activities) และ Process 6 Completes system tests and deploy solution (Deployment Activities) ซึ่งผู้จัดทำหวังเป็นอย่างยิ่งว่า รายงานฉบับนี้จะเป็นประโยชน์กับนักเรียน นักศึกษาและผู้ที่สนใจในการนำหลักการ SDLC มาปรับใช้ในการทำซอฟต์แวร์ หรือการออกแบบและวางแผนการพัฒนาซอฟต์แวร์ในโครงการต่างๆ ที่จะคิดทำขึ้นได้เป็นอย่างดี
2. PROJECT
HOUSE DOG TO FEED FOOD WITH ARDUINO
AND ANDROID APPLICATION
SUBMITTED BY
PANATDA KONGWET 1540900832
SUREERAT SADMAK 1540901715
NARUDOL MONGKOLRAT 1540901723
SUTTIPONG KULLAWATTANA 1540902044
PRESENT
TODSAPON BANKLONGSI
MI452 INFORMATION SYSTEM ANALYSIS AND DESIGN
DEPARTMENT OF MULTIMEDIA AND INTERNET SYSTEM ENGINEERING
SCHOOL OF ENGINEERING
BANGKOK UNIVERSITY
SEMESTER 2 YEAR 2013
3. คานา
รายงานฉบับนี้จัดทาขึ้นในรายวิชา ม.อ.452 การวิเคราะห์และออกแบบระบบสารสนเทศ (MI452
Information System Analysis and Design) ภาคเรียนที่ 2 ประจาปีการศึกษา 2556 ในโครงการที่มีชื่อว่า บ้าน
ให้อาหารสัตว์ผ่าน Application ด้วย Arduino ซึ่งเนื้อหาภายในรายงาน ประกอบด้วย การนาเสนอกระบวนการ
ออกแบบและพัฒนาซอฟต์แวร์ (System Development Life Cycle) จานวน 6 กระบวนการ ซึ่งประกอบด้วย
Process 1 Identity problem and obtain approval, Process 2 Plan and monitor the project (Plan
and Monitor Activities), Process 3 Discover and understand details (Analysis Activities), Process 4
Design system components (Design Activities), Process 5 Build, test, and integrate system
(Implementation Activities) แ ล ะ Process 6 Completes system tests and deploy solution
(Deployment Activities) ซึ่งผู้จัดทาหวังเป็นอย่างยิ่งว่า รายงานฉบับนี้จะเป็นประโยชน์กับนักเรียน นักศึกษา
และผู้ที่สนใจในการนาหลักการ SDLC มาปรับใช้ในการทาซอฟต์แวร์ หรือการออกแบบและวางแผนการพัฒนา
ซอฟต์แวร์ในโครงการต่างๆ ที่จะคิดทาขึ้นได้เป็นอย่างดี
นางสาวประนัดดา คงเวช
นางสาวสุรีรัตน์ สาดมาก
นายนฤดล มงคลรัฐ
นายสุทธิพงศ์ กุลวัฒนา
4. สารบัญ
หน้า
คานา 1
สารบัญ 2
1. Process 1 Identity problem and obtain approval 4
(Identify Problem Activities)
1.1 Identify the problem 4
1.2 Quantify project approval factors 11
1.3 Perform risk and feasibility analysis 16
1.4 Review with Client and Obtain Approval 16
2. Process 2 Plan and monitor the project (Plan and Monitor Activities) 18
2.1 Establish the project environment 18
2.2 Schedule the work 23
2.3 Staff and allocate resources 24
2.4 Evaluate work processes 24
2.5 Monitor progress and make corrections 25
3. Process 3 Discover and understand details (Analysis Activities) 26
3.1 Gather detailed information 26
3.2 Define requirements 27
3.3 Prioritize requirement 32
3.4 Develop user-interface dialogs 35
3.5 Evaluate requirements with users 35
4. Process 4 Design system components (Design Activities) 36
4.1 Design the environment 36
4.2 Design application architecture and software 37
4.3 Design user interfaces 41
4.4 Design system interfaces 46
4.5 Design the database 46
4.6 Design system controls and security 48
5. สารบัญ (ต่อ)
หน้า
5. Process 5 Build, test, and integrate system (Implementation Activities) 48
5.1 Program the software 48
5.2 Unit test the software 49
5.3 Identify and build test case 49
5.4 Integrate and test component 50
6. Process 6 Completes system tests and deploy solution (Deployment Activities) 51
6.1 Perform system and streets tests 51
6.2 Perform user acceptance tests 52
6.3 Convert existing data 52
6.4 Build training materials and conduct training 52
6.5 Configure and set up production environment 52
6.6 Deploy the solution 52
7. Script Interview and Marketing Plan 53
เอกสารอ้างอิง 60
ภาคผนวก 61
34. 32
3.3 Prioritize requirement จัดลาดับความสาคัญของ requirements งานที่จะทาก่อนหลัง พร้อมใส่ Use
Case Diagram, Activity Diagram
1. Data Flow Diagram (DFD)
รูปที่ 35 Data Flow Diagram (DFD)
คาอธิบาย :
User จะทาการลงทะเบียนเข้าใช้งานระบบผ่านระบบ Login โดยข้อมูลของ User ทั้งหมดจะถูก
เก็บเข้าไปที่ Database ถ้าผู้ใช้จะเข้าระบบอีกครั้ง ผู้ใช้จะต้อง Login เข้าระบบทุกครั้งเพื่อเข้าไปใน
ประวัติของตัวเอง เมื่อ User เข้าไปในระบบแล้ว ผู้ใช้จะพบกับรายการทั้งหมด 3 รายการ ซึ่งประกอบด้วย
ระบบการตั้งเวลาและปริมาณอาหารในการให้อาหารสุนัข ระบบเชื่อมต่อเพื่อเปิดปิด Arduino
Controller และระบบประวัติการให้อาหารเพื่อดูการเจริญเติบโตของสุนัข ซึ่งประกอบด้วยข้อมูลการให้
อาหารในแต่ละปี แต่ละเดือน และแต่ละวัน รวมถึงการวัดการเจริญเติบโตจากระบบคานวณการให้อาหาร
สุนัขในแต่ละช่วงเวลา เพื่อควบคุมการให้อาหารตามหลักโภชนาการ
35. 33
2. Use Case Diagram
รูปที่ 36 Use Case Diagram
คาอธิบาย
- REGISTER SYSTEM : User จะได้รับข้อมูลการลงทะเบียนหลังจากทาการลงทะเบียนเข้าใช้
งานระบบผ่านระบบ Login โดยข้อมูลการให้อาหารกับสุนัขของ User ทั้งหมดจะถูกเก็บเข้าไปที่
Database เมื่อผู้ใช้ต้องการเรียกข้อมูลมาใช้ จะสามารถเรียกผ่าน Account
- RECORD TIME AND FOOD SYSTEM : ระบบแสดงการเจริญเติบโตของสุนัข ระบบประวัติ
การให้อาหารเพื่อดูการเจริญเติบโตของสุนัข ซึ่งประกอบด้วยข้อมูลการให้อาหารในแต่ละปี แต่ละเดือน
และแต่ละวัน รวมถึงการวัดการเจริญเติบโตจากระบบคานวณการให้อาหารสุนัขในแต่ละช่วงเวลา เพื่อ
ควบคุมการให้อาหารตามหลักโภชนาการ
- DATABASE SERVER: จะทาหน้าที่เก็บข้อมูลทั้งระบบ
- CONTROLLER : ระบบเชื่อมต่อเพื่อเปิดปิด Arduino Controller โดยการทางานจะมีการ
Extends กับระบบ RECORD TIME AND FOOD SYSTEM
38. 36
- ระบบการเลือกสายพันธุ์สุนัข: ให้ผู้ใช้ทาการค้นหาสายพันธุ์สุนัขผ่าน List View แล้วดูสิว่า สามารถดึง
ข้อมูลสายพันธุ์สุนัขที่ Popular ที่สุดจากเว็บไซต์ผ่านระบบ Web Service ได้หรือไม่
- ระบบค้นหาและเลือกซื้อสินค้าสุนัข: ให้ผู้ใช้ทาการกรอกข้อมูล ID สินค้า, ราคาสินค้า ชื่อสินค้า และ
จานวนการสั่งซื้อ แล้วทาการตรวจเช็คประวัติการสั่งซื้อที่ Order Menu แล้วดูว่า ข้อมูลได้เข้าระบบแล้วหรือยัง
- ระบบค้นหาโรงพยาบาลสุนัข: ให้ผู้ใช้เชื่อมต่อ Google Map แล้วทาการเลือกโรงพยาบาลที่ต้องการ
- ระบบการติดตามสุนัขผ่านกล้องเว็บแคม: ให้ผู้ใช้เลือกที่เมนูแล้วกล้องจะทาการเชื่อมต่ออัตโนมัติ โดย
ภายในระบบจะสามารถสื่อสารกับสุนัขผ่านเสียงได้ เพื่อเรียกสุนัขมากินข้าวได้
Process 4 Design system components (Design Activities)
4.1 Design the environment ฮาร์ดแวร์ ซอฟต์แวร์ OS input output ใช้อะไรบ้าง
1. SQLite Database 2. Android Java IDE
3. Eclipse IDE 4. Arduino IDE
5. IBM Worklight Studio (Hybrid Mobile App) 6. Justinmind Wireframe Prototype
39. 37
4.2 Design application architecture and software
1. Class Diagram
รูปที่ 39 Class Diagram
Java Android Functions
public class loginSystem {
public getAccount(username, password) { }
}
public class profile extends loginSystem {
public getAccountToDatabase() { }
public addAccount() { }
public btnMenu() { }
}
public class Menu {
public btnSettingTime() { }
public btnHistoryFood() { }
public connectArduino() { }
public btnDogCollection() { }
40. 38
public btnPetShop() { }
public btnHospitalOfDog() { }
public webCam() { }
}
public class Time {
public morningTime() { }
public afternoonTime() { }
public eveningTime() { }
}
public class ArduinoController extends Time{
public setRoundOfMotor() { }
public setWeight() { }
}
public class DatabaseSystem {
public sqlRecieveData() { }
}
public class DogCollection {
public fetchDataOfDog() { }
}
public class HospitalMap {
public fetchDataMap() { }
}
คาอธิบาย : ระบบจะเก็บค่า Username และ password โดยตั้งตัวแปลเป็นแบบ String เพื่อรับค่า
และส่งค่าภายใน Application และมีการตั้งเวลาเพื่อควบคุมการทางานของคอนโทรลเลอร์และ Server
โดยจะมี Class ArduinoController ทาหน้าที่ตรวจสอบรอบการทางานของมอเตอร์ และ LedStatus
ทาหน้าที่โชว์สถานะการทางานของคอนโทรลเลอร์ ทาให้สามารถเรียก ArduinoController โดยมี
ความสามารถเดิมๆ ที่ถูกเรียกใช้ได้ทันที