Lecture2

23
Програм хангамжийн инженерчлэл Б.Ганзориг УБИС 2012 он

Transcript of Lecture2

Програм хангамжийн инженерчлэлБ.ГанзоригУБИС 2012 он

Програм хангамжийн инженерчлэл

• Төлөвлөлт• Үүргийн дэвтэр• Арчилгааны дэвтэр (техникийн баримтуудаар

баяжуулагдсан, үүргийн дэвтэр)• Зардлын баримжаа (Function-Point-Арга

эсвэл COCOMO)• Үйл ажиллагааны загвар

Програм хангамжийн инженерчлэл

• Үүргийн дэвтэр• ПХ-н инженерчилэлийн эхний үе шат

болох асуудлын анализын эхэнд буюу төлөвлөлт хийх үед “Үүргийн дэвтэр” болон “Системийн тодорхойлолт”-г бэлтгэх шаардлагатай. 

Програм хангамжийн инженерчлэл

• Германы DIN 69 905 стандартад “Үүргийн дэвтэр” англиар Requirements specification -д даалгавар олгогчийн даалгавар хүлээн авагчид тавьсан шаардлагуудыг тодорхойлсон байна гэжээ.

• Өөрөөр хэлбэл юу хийх, юунд хүрэхийг тодорхойлно гэсэн үг юм.

Програм хангамжийн инженерчлэл

• Германы DIN 69 905 стандартад “Системийн тодорхойлолт”-ийг англиар System specification гэдэг бөгөөд бүтээгдэхүүний хэрэгжүүлэлт болон хүчин чадлыг даалгавар хүлээн авагчийн зүгээс тодорхойлон бичнэ гэжээ.

• Өөрөөр хэлбэл яаж хэрэгжүүлэх вэ гэдгийг тодорхойлно гэсэн үг.

Програм хангамжийн инженерчлэл

• Системийн тодорхойлолтын хамгийн чухал зүйл нь 4 С гээд: 1. Clarity, /тодорхой байх/2. Completeness, /бүрэн гүйцэд байх/3. Consistency, /зохицол нийлэмжтэй байх/4. 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/