SlideShare a Scribd company logo
Програм хангамжийн инженерчлэл
УБИС 2012 он

Б.Ганзориг
Програм хангамжийн
инженерчлэл
• Төлөвлөлт
• Үүргийн дэвтэр
• Арчилгааны дэвтэр (техникийн
баримтуудаар баяжуулагдсан, үүргийн
дэвтэр)
• Зардлын баримжаа (Function-Point-Арга
эсвэл COCOMO)
• Үйл ажиллагааны загвар
Програм хангамжийн
инженерчлэл
• Үүргийн дэвтэр
• ПХ-н инженерчилэлийн эхний үе шат
болох асуудлын анализын эхэнд буюу
төлөвлөлт хийх үед “Үүргийн дэвтэр”
болон “Системийн тодорхойлолт”-г
бэлтгэх шаардлагатай.
Програм хангамжийн
инженерчлэл
• Германы DIN 69 905 стандартад
“Үүргийн дэвтэр” англиар Requirements
specification -д даалгавар олгогчийн
даалгавар хүлээн авагчид тавьсан
шаардлагуудыг тодорхойлсон байна
гэжээ.
• Өөрөөр хэлбэл юу хийх, юунд хүрэхийг
тодорхойлно гэсэн үг юм.
Програм хангамжийн
инженерчлэл
• Германы DIN 69 905 стандартад
“Системийн тодорхойлолт”-ийг
англиар System specification гэдэг бөгөөд
бүтээгдэхүүний хэрэгжүүлэлт болон
хүчин чадлыг даалгавар хүлээн авагчийн
зүгээс тодорхойлон бичнэ гэжээ.
• Өөрөөр хэлбэл яаж хэрэгжүүлэх вэ
гэдгийг тодорхойлно гэсэн үг.
Програм хангамжийн
инженерчлэл
• Системийн тодорхойлолтын хамгийн
чухал зүйл нь 4 С гээд:
1.
2.
3.
4.

Clarity, /тодорхой байх/
Completeness, /бүрэн гүйцэд байх/
Consistency, /зохицол нийлэмжтэй байх/
Correctness /алдаагүй байх/
гэж Rombach тодорхойлсон байдаг.
Програм хангамжийн
инженерчлэл
•

DIN 66901 ПХ-н инженерчилэлд
Үүргийн дэвтэр ба Системийн
тодорхойлолт харилцан эргэх
холбоотой байна гэж үздэг.
Програм хангамжийн
инженерчлэл
• Үүргийн дэвтэр нь:
1. Зорилгын тодорхойлолт
2. Бүтээгдэхүүний хэрэглээ
3. Бүтээгдэхүүний үйл ажиллагаа (functional
requirement)
4. Бүтээгдэхүүний өгөгдлүүд
5. Бүтээгдэхүүний шинж чанар
6. Чанарын шаардлагууд
7. Нэмэлт
Програм хангамжийн
инженерчлэл
1. Зорилгын тодорхойлолт:
• Энэ хэсэгт үндсэн даалгаварыг
тодорхойлон бичнэ.
• Үүнийг ихэнх тохиолдолд даалгавар олгогч
бэлтгэчихсэн байдаг.
• Системийн оролцогчдыг үүргийн хамт
тодорхойлох хэрэгтэй.
• Энэ хэсэгт “Энэ ПХ-г хэрэглэснээр ямар
зорилгод хүрэх ѐстой вэ?” гэсэн асуултанд
хариулагдсан байх ѐстой.
Програм хангамжийн
инженерчлэл
2. Бүтээгдэхүүний хэрэглээ:
• Хөгжүүлэх системийн хэрэглээний хүрээ
хязгаарыг тодорхойлно.
• Хэрэгжүүлэгч байгууллагын бизнес
процессийг тодорхойлж хаана төслийн
ямар хэсэг тохирохыг тоочино.
• Энэ хэсэгт “Энэ ПХ ямар хэрэглээний хүрээ
болон хэнд зориулагдсан бэ?” гэсэн
асуултанд хариулагдсан байх ѐстой.
Програм хангамжийн
инженерчлэл
3. Бүтээгдэхүүний үйл ажиллагаа:
• ПХ-н үндсэн функц, үйл ажиллагааг
нарийвчилан тодорхойлно.
• Ерөнхий Use Case диаграмыг оруулж ирж
болно.
• Энэ хэсэгт “Бүтээгдэхүүний үндсэн функц
үйл ажиллагаа даалгавар өгөгчийн зүгээс
юу юу байсан вэ?” гэсэн асуултанд
хариулагдсан байх ѐстой.
Програм хангамжийн
инженерчлэл
4. Бүтээгдэхүүний өгөгдөлүүд:
• ПХ-н ажиллах үндсэн өгөгдөлүүдийг
тодорхойлно.
• Энэ хэсэгт “Бүтээгдэхүүний үндсэн
өгөгдөлүүд даалгавар өгөгчийн зүгээс юу
юу байсан бэ?” гэсэн асуултанд хариулна.
Програм хангамжийн
инженерчлэл
5. Бүтээгдэхүүний шинж чанар:
• ПХ-н үйл ажиллагаанд хамаараагүй
шинж чанарууд буюу функционал бус
шаардлагууд орно.
• Энэ хэсэгт “Бүтээгдэхүүний бусад шинж
чанарууд юу вэ? Ямар нэг функц дээр
хугацаа, өгөгдөл, нарийвчлалаас хамааран
онцгой зүйлс шаардагдах уу?” гэсэн
асуултанд хариулт өгсөн байх ѐстой.
Програм хангамжийн
инженерчлэл
6. Чанарын шаардлагууд:
• Тухайн даалгавар өгөгч ямар ямар
эрсдэлийг хүлээж авах чадвараас
хамааруулан тодорхойлно. (Найдвартай байдал,
бат бэх, хэрэглэгчид таатай орчин, үр ашигтай байдал,…)

• Энэ хэсэгт “Ямар ямар чанарын
шаардлагуудыг ямар төвшинд хангах ѐстой
вэ?” гэсэн асуулт хариулагдсан байх ѐстой.
Програм хангамжийн
инженерчлэл
7. Нэмэлт:
• Өөр ямар онцгой шаардлагууд байна вэ?
Та юу ажиглав. Бүгдийг нь энд тэмдэглэх
хэрэгтэй.
Програм хангамжийн
инженерчлэл
•

Үүргийн дэвтэр болон системийн
шаардлага 2-г нэгтгэсэн загвар
гаргаж үзвэл:
Програм хангамжийн
инженерчлэл

Баримтад систем гэсэн үгийг тогтолцоо, функционалыг үйл ажиллагаа гэх мэтээр
монголчлон авсан болно
Програм хангамжийн
инженерчлэл
•

Тогтолцооны бүрэн тодорхойлолт
(Software Requirements Specification)
•
•
•
•
•
•
•
•
•
•
•

Өмнөх үг (Introduction)
Анхны нөхцөл ба зорилго (Initial situation and goal)
Үйл ажиллагааны шаардлага (Functional specification)
Үйл ажиллагааны бус шаардлага (Non-functional specification)
Амьдралын мөчлөгийн бүдүүвч ба тогтолцооны архитектур
(Life cycle draft and complete system architecture)
Тогтолцооны интерфейсүүд (System interfaces)
Нийлүүлэлтийн хүрээ (Scope of delivery)
Хүлээн авах болзол ( Acceptance criteria )
Товчилсон үгийн жагсаалт (List of abbreviations)
Зургийн жагсаалт (List of figures)
Номзүй (Bibliography)
Програм хангамжийн
инженерчлэл
• Зардлын баримжаа
• Энд тухайн хөгжүүлэх гэж буй ПХ-н
зардлыг аль болох нарийвчилсан
байдлаар тодорхойлохыг зорино.
• Function-Point-Method эсвэл COCOMO
(COnstructive COst MOdel) гэсэн
аргуудаар тооцоолол хийдэг.
Програм хангамжийн
инженерчлэл
• Function-Point-Method:
• Энэ арга нь кодын хэмжээнээс
хамаарсан зардлын шинжилгээг
голчлон хийдэг.
• Өөрөө хэлбэл програмын кодыг мөр
бүрээр нь шинжилж ямар хэмжээний
зардал гарахыг урьдчилан тооцоолж
системийн үнийг тогтооход тусалдаг.
Програм хангамжийн
инженерчлэл
• Function-Point-Method:
• Энэ аргын нарийвчилсан шинжилгээг
хавсралт 1-д оруулсан байгаа учраас
та бүхэн тэр файлын тусламжтайгаар
нарийвчлан судлаж үзнэ үү.

/хавсралт1_FunctionPointMethod.doc/
Програм хангамжийн
инженерчлэл
• COCOMO (COnstructive COst MOdel):
• Энэ арга нь ПХ-г хөгжүүлэх үйл
ажиллагааны хэсэг бүрийг тусгайлан
үнэлсэн үнэлгээний функц,
характристикүүдийг ашиглаж
хөгжүүлэх гэж буй системийн ерөнхий
үнэлгээг гаргахад тусладаг Barry
Boehm –н хөгжүүлсэн арга юм.
Програм хангамжийн
инженерчлэл
• COCOMO (COnstructive COst MOdel):
• Энэ аргын нарийвчилсан шинжилгээг
хавсралт 1-д оруулсан байгаа учраас
та бүхэн тэр файлын тусламжтайгаар
нарийвчлан судлаж үзнэ үү.

/Хавсралт2_COCOMO(COnstructive COst MOdel).pdf/

More Related Content

PPTX
Lecture1
PPTX
програм хангамжийн чанарын инженерчлэл
PDF
PPT
Ood lesson2
PPTX
Lecture 14 test strategy
PPTX
ПХ-н баримтжуулалтын бодлого тогтоох
PPTX
It101 lect9
Lecture1
програм хангамжийн чанарын инженерчлэл
Ood lesson2
Lecture 14 test strategy
ПХ-н баримтжуулалтын бодлого тогтоох
It101 lect9

Similar to Lecture2 (20)

PPTX
Lecture1
PPTX
мэдээллийн системийг хөгжүүлэх
PPT
Personal Software Process
DOC
Sw206 lec
PPTX
Lecture network programming
DOC
Gosexem asuult 09
PPTX
DOCX
Vpii bie daalt
DOCX
Vpii bie daalt
DOCX
Vpii bie daalt
PDF
Diplom udirdamj
PPT
10 мэд зүй компьютер
DOCX
PPT
Lecture1
DOC
Proj Descr
PPT
010 бизнесмт ийн шийдлүүдийг хөгжүүлэх
PDF
Program hangamjiin tosliin menejment
DOCX
Diplomnii etsii huvilbar
DOCX
хичээлийн хөтөлбөр
Lecture1
мэдээллийн системийг хөгжүүлэх
Personal Software Process
Sw206 lec
Lecture network programming
Gosexem asuult 09
Vpii bie daalt
Vpii bie daalt
Vpii bie daalt
Diplom udirdamj
10 мэд зүй компьютер
Lecture1
Proj Descr
010 бизнесмт ийн шийдлүүдийг хөгжүүлэх
Program hangamjiin tosliin menejment
Diplomnii etsii huvilbar
хичээлийн хөтөлбөр
Ad

More from ganzorigb (20)

PPTX
Lecture 1 2
PPTX
Pl lecture1
PPTX
Pl lecture2
PPTX
Pl lecture3
PPTX
Pl lecture4
PPTX
Pl lecture5
PPTX
Pl lecture6
PPTX
Pl lecture7
PPTX
Pl lecture8
PPTX
Pl lecture8
PPTX
Lecture graphic programming
PPTX
Lecture tread
PPTX
Lecture file man prog
PPTX
Lecture file and folder working
PPTX
Lecture data base programming part3
PPTX
Lecture data base programming part2
PPTX
Lecture data base programming part1
PPTX
Lecture hibernate
PPT
Lec04
PPT
Lec03
Lecture 1 2
Pl lecture1
Pl lecture2
Pl lecture3
Pl lecture4
Pl lecture5
Pl lecture6
Pl lecture7
Pl lecture8
Pl lecture8
Lecture graphic programming
Lecture tread
Lecture file man prog
Lecture file and folder working
Lecture data base programming part3
Lecture data base programming part2
Lecture data base programming part1
Lecture hibernate
Lec04
Lec03
Ad

Lecture2

  • 2. Програм хангамжийн инженерчлэл • Төлөвлөлт • Үүргийн дэвтэр • Арчилгааны дэвтэр (техникийн баримтуудаар баяжуулагдсан, үүргийн дэвтэр) • Зардлын баримжаа (Function-Point-Арга эсвэл COCOMO) • Үйл ажиллагааны загвар
  • 3. Програм хангамжийн инженерчлэл • Үүргийн дэвтэр • ПХ-н инженерчилэлийн эхний үе шат болох асуудлын анализын эхэнд буюу төлөвлөлт хийх үед “Үүргийн дэвтэр” болон “Системийн тодорхойлолт”-г бэлтгэх шаардлагатай.
  • 4. Програм хангамжийн инженерчлэл • Германы DIN 69 905 стандартад “Үүргийн дэвтэр” англиар Requirements specification -д даалгавар олгогчийн даалгавар хүлээн авагчид тавьсан шаардлагуудыг тодорхойлсон байна гэжээ. • Өөрөөр хэлбэл юу хийх, юунд хүрэхийг тодорхойлно гэсэн үг юм.
  • 5. Програм хангамжийн инженерчлэл • Германы DIN 69 905 стандартад “Системийн тодорхойлолт”-ийг англиар System specification гэдэг бөгөөд бүтээгдэхүүний хэрэгжүүлэлт болон хүчин чадлыг даалгавар хүлээн авагчийн зүгээс тодорхойлон бичнэ гэжээ. • Өөрөөр хэлбэл яаж хэрэгжүүлэх вэ гэдгийг тодорхойлно гэсэн үг.
  • 6. Програм хангамжийн инженерчлэл • Системийн тодорхойлолтын хамгийн чухал зүйл нь 4 С гээд: 1. 2. 3. 4. Clarity, /тодорхой байх/ Completeness, /бүрэн гүйцэд байх/ Consistency, /зохицол нийлэмжтэй байх/ Correctness /алдаагүй байх/ гэж Rombach тодорхойлсон байдаг.
  • 7. Програм хангамжийн инженерчлэл • DIN 66901 ПХ-н инженерчилэлд Үүргийн дэвтэр ба Системийн тодорхойлолт харилцан эргэх холбоотой байна гэж үздэг.
  • 8. Програм хангамжийн инженерчлэл • Үүргийн дэвтэр нь: 1. Зорилгын тодорхойлолт 2. Бүтээгдэхүүний хэрэглээ 3. Бүтээгдэхүүний үйл ажиллагаа (functional requirement) 4. Бүтээгдэхүүний өгөгдлүүд 5. Бүтээгдэхүүний шинж чанар 6. Чанарын шаардлагууд 7. Нэмэлт
  • 9. Програм хангамжийн инженерчлэл 1. Зорилгын тодорхойлолт: • Энэ хэсэгт үндсэн даалгаварыг тодорхойлон бичнэ. • Үүнийг ихэнх тохиолдолд даалгавар олгогч бэлтгэчихсэн байдаг. • Системийн оролцогчдыг үүргийн хамт тодорхойлох хэрэгтэй. • Энэ хэсэгт “Энэ ПХ-г хэрэглэснээр ямар зорилгод хүрэх ѐстой вэ?” гэсэн асуултанд хариулагдсан байх ѐстой.
  • 10. Програм хангамжийн инженерчлэл 2. Бүтээгдэхүүний хэрэглээ: • Хөгжүүлэх системийн хэрэглээний хүрээ хязгаарыг тодорхойлно. • Хэрэгжүүлэгч байгууллагын бизнес процессийг тодорхойлж хаана төслийн ямар хэсэг тохирохыг тоочино. • Энэ хэсэгт “Энэ ПХ ямар хэрэглээний хүрээ болон хэнд зориулагдсан бэ?” гэсэн асуултанд хариулагдсан байх ѐстой.
  • 11. Програм хангамжийн инженерчлэл 3. Бүтээгдэхүүний үйл ажиллагаа: • ПХ-н үндсэн функц, үйл ажиллагааг нарийвчилан тодорхойлно. • Ерөнхий Use Case диаграмыг оруулж ирж болно. • Энэ хэсэгт “Бүтээгдэхүүний үндсэн функц үйл ажиллагаа даалгавар өгөгчийн зүгээс юу юу байсан вэ?” гэсэн асуултанд хариулагдсан байх ѐстой.
  • 12. Програм хангамжийн инженерчлэл 4. Бүтээгдэхүүний өгөгдөлүүд: • ПХ-н ажиллах үндсэн өгөгдөлүүдийг тодорхойлно. • Энэ хэсэгт “Бүтээгдэхүүний үндсэн өгөгдөлүүд даалгавар өгөгчийн зүгээс юу юу байсан бэ?” гэсэн асуултанд хариулна.
  • 13. Програм хангамжийн инженерчлэл 5. Бүтээгдэхүүний шинж чанар: • ПХ-н үйл ажиллагаанд хамаараагүй шинж чанарууд буюу функционал бус шаардлагууд орно. • Энэ хэсэгт “Бүтээгдэхүүний бусад шинж чанарууд юу вэ? Ямар нэг функц дээр хугацаа, өгөгдөл, нарийвчлалаас хамааран онцгой зүйлс шаардагдах уу?” гэсэн асуултанд хариулт өгсөн байх ѐстой.
  • 14. Програм хангамжийн инженерчлэл 6. Чанарын шаардлагууд: • Тухайн даалгавар өгөгч ямар ямар эрсдэлийг хүлээж авах чадвараас хамааруулан тодорхойлно. (Найдвартай байдал, бат бэх, хэрэглэгчид таатай орчин, үр ашигтай байдал,…) • Энэ хэсэгт “Ямар ямар чанарын шаардлагуудыг ямар төвшинд хангах ѐстой вэ?” гэсэн асуулт хариулагдсан байх ѐстой.
  • 15. Програм хангамжийн инженерчлэл 7. Нэмэлт: • Өөр ямар онцгой шаардлагууд байна вэ? Та юу ажиглав. Бүгдийг нь энд тэмдэглэх хэрэгтэй.
  • 16. Програм хангамжийн инженерчлэл • Үүргийн дэвтэр болон системийн шаардлага 2-г нэгтгэсэн загвар гаргаж үзвэл:
  • 17. Програм хангамжийн инженерчлэл Баримтад систем гэсэн үгийг тогтолцоо, функционалыг үйл ажиллагаа гэх мэтээр монголчлон авсан болно
  • 18. Програм хангамжийн инженерчлэл • Тогтолцооны бүрэн тодорхойлолт (Software Requirements Specification) • • • • • • • • • • • Өмнөх үг (Introduction) Анхны нөхцөл ба зорилго (Initial situation and goal) Үйл ажиллагааны шаардлага (Functional specification) Үйл ажиллагааны бус шаардлага (Non-functional specification) Амьдралын мөчлөгийн бүдүүвч ба тогтолцооны архитектур (Life cycle draft and complete system architecture) Тогтолцооны интерфейсүүд (System interfaces) Нийлүүлэлтийн хүрээ (Scope of delivery) Хүлээн авах болзол ( Acceptance criteria ) Товчилсон үгийн жагсаалт (List of abbreviations) Зургийн жагсаалт (List of figures) Номзүй (Bibliography)
  • 19. Програм хангамжийн инженерчлэл • Зардлын баримжаа • Энд тухайн хөгжүүлэх гэж буй ПХ-н зардлыг аль болох нарийвчилсан байдлаар тодорхойлохыг зорино. • Function-Point-Method эсвэл COCOMO (COnstructive COst MOdel) гэсэн аргуудаар тооцоолол хийдэг.
  • 20. Програм хангамжийн инженерчлэл • Function-Point-Method: • Энэ арга нь кодын хэмжээнээс хамаарсан зардлын шинжилгээг голчлон хийдэг. • Өөрөө хэлбэл програмын кодыг мөр бүрээр нь шинжилж ямар хэмжээний зардал гарахыг урьдчилан тооцоолж системийн үнийг тогтооход тусалдаг.
  • 21. Програм хангамжийн инженерчлэл • Function-Point-Method: • Энэ аргын нарийвчилсан шинжилгээг хавсралт 1-д оруулсан байгаа учраас та бүхэн тэр файлын тусламжтайгаар нарийвчлан судлаж үзнэ үү. /хавсралт1_FunctionPointMethod.doc/
  • 22. Програм хангамжийн инженерчлэл • COCOMO (COnstructive COst MOdel): • Энэ арга нь ПХ-г хөгжүүлэх үйл ажиллагааны хэсэг бүрийг тусгайлан үнэлсэн үнэлгээний функц, характристикүүдийг ашиглаж хөгжүүлэх гэж буй системийн ерөнхий үнэлгээг гаргахад тусладаг Barry Boehm –н хөгжүүлсэн арга юм.
  • 23. Програм хангамжийн инженерчлэл • COCOMO (COnstructive COst MOdel): • Энэ аргын нарийвчилсан шинжилгээг хавсралт 1-д оруулсан байгаа учраас та бүхэн тэр файлын тусламжтайгаар нарийвчлан судлаж үзнэ үү. /Хавсралт2_COCOMO(COnstructive COst MOdel).pdf/