Pengurusan pembangunan perisian. Menggunakan LOC sebagai unit ukuran untuk saiz produk perisian. Hubungan antara metrik titik fungsi dan baris kod

Hantar kerja baik anda di pangkalan pengetahuan adalah mudah. Gunakan borang di bawah

Kerja yang bagus ke tapak">

Pelajar, pelajar siswazah, saintis muda yang menggunakan pangkalan pengetahuan dalam pengajian dan kerja mereka akan sangat berterima kasih kepada anda.

Disiarkan di http://www.allbest.ru/

COCOMO, COCOMO II model, kaedah titik fungsi. mereka analisis perbandingan dan skop

Kitaran hayat alat perisian boleh dibahagikan kepada dua bahagian, yang berbeza dengan ketara dalam ciri ekonomi proses dan sumber, ciri dan faktor yang mempengaruhinya. Dalam bahagian pertama kitaran hayat PS, analisis sistem, reka bentuk, pembangunan, ujian dan percubaan versi asas dijalankan produk perisian. Julat kerja, keamatan buruh, tempoh dan ciri ekonomi lain pada peringkat kitaran hayat ini amat bergantung pada ciri objek, teknologi dan persekitaran alat pembangunan. Adalah amat penting untuk mengambil kira kemungkinan peningkatan dalam jumlah kos apabila keperluan untuk kualiti produk perisian dianggarkan terlalu tinggi. Seperti jenis produk perindustrian yang lain, peningkatan kualiti pakej perisian biasanya dicapai bukan secara berkadar, tetapi dengan peningkatan yang lebih ketara dalam sumber yang diperlukan untuk ini. Mengurangkan keperluan sumber ini selalunya hanya boleh dilakukan dengan perubahan asas dan menambah baik reka bentuk dan teknologi pembangunan.

Untuk bahagian langkah ini kitaran hidup dicirikan oleh pengagihan tidak sekata intensiti buruh, tempoh dan bilangan pakar merentasi peringkat kerja utama. Keamatan buruh maksimum dan bilangan pakar berlaku pada peringkat pengaturcaraan dan komponen ujian, apabila sebahagian besar pengekod terlibat. Pada penggunaan aktif dan peningkatan teknologi analisis sistem dan reka bentuk, terdapat pengagihan semula semua jenis kos ke arah meningkatkan intensiti buruh pada peringkat awal pembangunan. Ini mengakibatkan pengurangan ketara dalam jumlah penggunaan sumber untuk keseluruhan projek. Kurang dikaji adalah pengagihan sumber yang diperlukan mengikut peringkat kerja, dengan mengambil kira pelaksanaan ciri khusus yang diperlukan bagi kualiti perisian. Data dan kebergantungan yang diterbitkan untuk pelbagai kelas perisian membolehkan kami meramalkan jumlah kos dan penunjuk teknikal dan ekonomi (TEI) utama projek, rancangan dan jadual kerjanya untuk produk perisian yang baru dicipta.

Bahagian kedua kitaran hayat, mencerminkan operasi, penyelenggaraan, pengubahsuaian, pengurusan konfigurasi dan pemindahan perisian ke platform lain, kurang bergantung dari segi jumlah sumber yang diperlukan pada ciri fungsi objek dan persekitaran pembangunan. Julat kerja pada peringkat ini lebih kurang ditakrifkan, tetapi kerumitan dan tempohnya boleh berbeza-beza, bergantung pada skala jisim dan lain-lain. faktor luaran pengedaran dan penggunaan versi khusus produk perisian. Kejayaan alat perisian di kalangan pengguna dan di pasaran, serta proses pembangunan versi masa depan, adalah sukar untuk diramalkan, dan ia tidak berkaitan secara langsung dengan parameter ekonomi proses pembangunan perisian. Ciri-ciri pengguna produk menjadi penentu, dan mereka ciri ekonomi Dari sudut pandangan pembangun, sumber yang dilaburkan untuk versi seterusnya memudar ke latar belakang.

Akibatnya, intensiti buruh dan bilangan pakar yang diperlukan untuk menyokong peringkat kitaran hayat ini boleh berbeza-beza secara meluas. Ini menyukarkan untuk menyamaratakan ciri teknikal pelbagai projek secara statistik dan meramalkan berdasarkan ciri-ciri serupa pembangunan baharu. Oleh itu, rancangan pada peringkat ini mempunyai sifat perhubungan umum antara kandungan kerja, yang memerlukan pengedaran dari semasa ke semasa, secara individu untuk setiap projek. Akibatnya, ramalan dan perancangan intensiti buruh dan tempoh peringkat ini mesti dilakukan secara berulang berdasarkan pengumpulan pengalaman dan analisis pembangunan versi khusus perisian, serta mengambil kira kejayaan mereka dalam pasaran.

Untuk meramal dan merancang sebarang proses atau ciri objek (khususnya perisian), dua jenis data sumber digunakan:

· fungsi dan tatanama ciri-ciri objek atau proses yang diramalkan yang mana perlu untuk merancang kitaran hayat;

· ciri-ciri prototaip dan projek perintis, sedikit sebanyak serupa dengan kemudahan yang dirancang, yang mana pelan yang dilaksanakan dan ciri-ciri ekonomi yang diperlukan bagi proses serupa yang telah siap untuk penciptaannya diketahui.

Pemprosesan bersama dan betul bagi data awal kedua-dua jenis ini membolehkan, semasa reka bentuk, menilai dan mendapatkan ciri-ciri baharu proses, rancangan dan penunjuk ekonomi penciptaan PS. Data awal jenis pertama mencerminkan ciri-ciri objek atau proses tertentu yang dicipta, kaedah yang ada Dan alatan automasi buruh semasa penciptaannya. Data ini secara konsisten terperinci dan diperhalusi semasa reka bentuk dan proses pelaksanaan selanjutnya, yang, khususnya, memungkinkan untuk menjelaskan pemilihan komponen objek yang serupa dan ciri-cirinya untuk jenis data awal kedua.

Jenis kedua data awal untuk mewajarkan dan merancang pembangunan perisian terdiri daripada pengalaman reka bentuk umum dan ciri ekonomi prototaip produk perisian yang dicipta. Untuk perancangan yang boleh dipercayai, adalah perlu untuk mengumpul, membuat generalisasi dan mengkaji data khusus mengenai rancangan yang dilaksanakan, kos dan sumber yang digunakan untuk pembangunan perisian yang lengkap dalam pelbagai aspek. Penunjuk teknikal dan ekonomi sedemikian dan faktor yang menentukannya telah dikaji dalam proses memproses bahan statistik penting daripada projek perisian tempatan dan asing sebenar dan digunakan dalam kaedah ramalan yang dibincangkan di bawah.

Apabila menjalankan kajian kebolehlaksanaan projek perisian di mana-mana peringkat, adalah dinasihatkan untuk menggunakan kaedah dan teknik yang memadai dengan matlamat dan peringkat pelaksanaannya. Objektif penilaian TEP harus diselaraskan dengan keperluan untuk maklumat untuk menyokong pembuatan keputusan untuk perancangan buruh dan sumber lain. Dalam kes umum, adalah perlu untuk mencapai komposisi matlamat yang seimbang untuk menilai ciri yang berbeza, yang akan memberikan kira-kira nilai mutlak yang sama bagi tahap ketidakpastian anggaran untuk semua komponen perisian. Di samping itu, setiap penilaian penunjuk teknikal dan ekonomi mesti disertakan dengan petunjuk tahap ketidakpastiannya. Semasa projek berkembang, anggaran ini harus disemak dan diubah suai apabila ia bermanfaat.

Melibatkan pelanggan membantu menyelesaikan masalah mengurus skala projek dan fungsi yang sedang dilaksanakan, dengan mengambil kira had sumber. Bergantung pada peringkat pembangunan set program yang kompleks dan kebolehpercayaan data awal mengenai ciri dan ciri projek perisian, adalah dinasihatkan untuk memilih dan menggunakan teknik yang berbeza dan senario untuk kajian kebolehlaksanaan projek dan meramalkan petunjuk teknikal dan ekonominya. Dari awal kerja projek, adalah penting untuk menyimpan rekod data yang berterusan mengenai intensiti buruh sebenar, kos dan dinamik kos dan membandingkan data ini dengan anggaran ramalan ciri projek mengikut sebab-sebab berikut:

· ketidaksempurnaan data awal semasa menilai penunjuk teknikal dan ekonomi mendorong pengurus projek menyemak semula anggaran, dengan mengambil kira maklumat baru untuk menyediakan asas yang lebih realistik untuk pengurusan projek selanjutnya;

· disebabkan oleh ketidaksempurnaan kaedah penilaian PS, anggaran harus dibandingkan dengan nilai sebenar petunjuk teknikal dan ekonomi dan keputusan ini harus digunakan untuk menambah baik kaedah penilaian;

· Projek perisian cenderung untuk mengubah ciri dan faktor ekonomi, dan pengurus projek perlu mengenal pasti perubahan ini dan membuat kemas kini realistik kepada anggaran kos.

Sumber utama untuk pembangun semasa membuat pakej perisian yang kompleks ialah:

· kos buruh (kos) yang boleh diterima untuk pembangunan perisian dengan kualiti yang diperlukan;

· masa - tempoh kitaran penuh mencipta produk perisian;

· bilangan pakar yang perlu dan tersedia dengan kelayakan yang sesuai.

Keperluan untuk sumber ini bergantung sepenuhnya pada saiz (skala) dan kerumitan perisian yang sedang dibangunkan. Penjelasan saiz alat perisian dan komponennya boleh diselesaikan secara berurutan pada penghujung reka bentuk terperinci, walau bagaimanapun, masih terdapat ketidakpastian dalam menganggar saiz kompleks perisian dan keamatan tenaga kerjanya mengikut urutan 5 - 10%, dikaitkan dengan sejauh mana pengaturcara memahami spesifikasi mengikut mana mereka mesti mengekod atur cara. Adalah dinasihatkan untuk mengambil kira bahawa:

· matlamat menilai penunjuk teknikal dan ekonomi mestilah konsisten dengan keperluan maklumat untuk memudahkan membuat keputusan pada peringkat projek perisian yang sesuai;

· kebolehpercayaan pentaksiran mesti seimbang untuk pelbagai komponen sistem dan tahap ketidakpastian bagi setiap komponen hendaklah lebih kurang sama jika dalam proses membuat keputusan semua komponen mempunyai berat yang sama;

· seseorang harus kembali kepada matlamat sebelumnya untuk menilai penunjuk teknikal dan ekonomi dan mengubahnya apabila perlu untuk keputusan belanjawan kritikal yang dibuat pada peringkat awal dan menjejaskan peringkat seterusnya.

Agak sukar untuk menganggarkan jumlah buruh yang diperlukan untuk menyelesaikan tugas tanpa maklumat yang boleh dipercayai mengenai saiznya. Oleh itu, pengukuran saiz (kerumitan) mendahului penilaian penunjuk teknikal dan ekonomi, dan penilaian ini, seterusnya, mendahului penggubalan jadual kerja.

Anggaran yang tidak boleh dipercayai membawa kepada masalah dalam interaksi antara pemaju dan pelanggan dan meningkatkan tahap risiko projek.

Anggaran saiz perisian

Aktiviti saiz dan anggaran perisian disertakan dalam urutan tugas perancangan projek perisian. Mereka didahului dengan mentakrifkan matlamat dan skop projek, mewujudkan struktur pecahan kerja (WBS), dan mengenal pasti tugas dan aktiviti. Selepas tugas meramal saiz perisian, terdapat tugas menganggarkan tempoh dan kos pembangunan, di mana peruntukan sumber, mengambil kira kebergantungan, dan merangka jadual kerja berlaku.

Menilai saiz dan potensi penggunaan semula kod dilakukan pada awal kitaran hayat. Penilaian saiz dan usaha dilakukan berulang kali semasa projek berjalan, dengan setiap penilaian meningkatkan tahap keyakinan terhadap hasil yang diperoleh. Pengurus yang baik Projek hanya perlu membuat peraturan untuk menganggarkan saiz perisian menggunakan keputusan penilaian sebagai parameter output setiap fasa kitaran hayat.

Organisasi pembangunan perisian telah bertahun-tahun mencari kaedah kuantitatif yang boleh diterima untuk mengukur produktiviti, menilai kecekapan proses dan mengurus kos pembangunan perisian. Yang menjadi penghalang ialah kekurangan unit pengukuran yang boleh dipercayai untuk saiz perisian.

Pada masa ini, apabila menganggarkan saiz perisian, dua unit ukuran utama paling kerap digunakan - garis kod (LOC) dan titik fungsi.

Anda juga boleh menggunakan titik sifat, bilangan "titik tebal" pada rajah aliran Data (DFD), bilangan entiti pada rajah entiti, jumlah dokumentasi, bilangan objek, atribut dan perkhidmatan pada rajah objek sebagai Unit pengukuran. Tidak kira sama ada produk akhir sedang dinilai, seperti dalam kes LOC, atau beberapa abstraksi atau modelnya, apa yang dinilai adalah sesuatu yang belum wujud secara semula jadi. Oleh itu, anggaran saiz memberikan kesukaran yang ketara.

Menggunakan LOC sebagai unit ukuran saiz produk perisian

Skor LOC ialah metrik paling universal, kerana ia boleh digunakan untuk mencipta sebarang produk perisian. Ia lebih mudah dan lebih difahami untuk pakar dan juga untuk pelanggan dan pelabur. Sebagai contoh, jika dinyatakan bahawa satu komponen sistem perisian yang terdiri daripada n komponen, secara purata akan memerlukan penulisan kira-kira 1000 baris kod program, maka semua orang boleh menganggarkannya saiz keseluruhan dan sekurang-kurangnya anggaran secara kasar tenaga kerja yang diperlukan untuk menciptanya, berdasarkan andaian bahawa purata produktiviti seorang pengaturcara masih kira-kira 3000 baris kod setahun.

Walau bagaimanapun, ramai pakar pembangunan perisian berpendapat bahawa ini adalah unit pengukuran yang lemah. Soalan paling penting yang timbul apabila menggunakan anggaran LOC ialah apakah yang membentuk satu baris kod? Di samping itu, menggunakan LOC sebagai unit ukuran menimbulkan keraguan tentang kebolehpercayaan keputusan, kerana perkara berikut tidak diambil kira:

bilangan baris kod sumber bergantung pada tahap kemahiran pengaturcara. Malah, semakin tinggi kemahiran pengaturcara, semakin sedikit baris kod yang dia akan dapat menguruskan untuk melaksanakan fungsi tertentu (atau fungsi) perisian;

· bahasa peringkat tinggi atau bahasa pengaturcaraan visual memerlukan banyak bilangan yang lebih kecil baris kod daripada, sebagai contoh, bahasa Himpunan atau C untuk mencerminkan fungsi yang sama. Cukup untuk membayangkan dua aplikasi yang mempunyai fungsi yang sama (skrin, laporan, jadual pangkalan data yang sama), tetapi dilaksanakan pada perbezaan bahasa. Jelas sekali, terdapat hubungan songsang antara tahap bahasa dan output pengeluaran pengaturcara;

· Bilangan sebenar LOC masih tidak diketahui sehingga projek hampir siap. Oleh itu, LOC tidak boleh digunakan untuk pra-anggaran usaha pembangunan dan membina jadual projek;

· Tiada persetujuan dalam komuniti pengaturcaraan tentang kaedah untuk mengira baris kod. Konstruk bahasa yang digunakan, contohnya, dalam Visual C++, Assembly, Cobol atau SQL adalah berbeza sama sekali. Kaedah ini kekal umum untuk sebarang aplikasi, termasuk yang menggunakan gabungan bahasa yang berbeza;

· adalah sukar bagi pelanggan untuk memahami apakah hubungan antara keperluan fungsian dan tidak berfungsi (teknikal) untuk perisian yang ditentukan olehnya dan jumlah kerja pengaturcaraan.

Pada masa yang sama, untuk meningkatkan kebolehpercayaan anggaran terdapat beberapa yang mencukupi cadangan mudah:

· Pastikan setiap baris kod sumber yang anda kira mengandungi hanya satu pernyataan. Jika satu baris mengandungi dua penyataan boleh laku yang dipisahkan oleh koma bertitik, ia mesti dikira sebagai dua baris. Jika satu pernyataan dibahagikan kepada beberapa baris "fizikal", ia akan dikira sebagai satu baris. Bahasa pengaturcaraan membenarkan peraturan pengekodan yang berbeza, tetapi biasanya lebih mudah untuk menentukan satu pernyataan pada baris yang diproses oleh pengkompil atau penterjemah.

· Pertimbangkan semua kenyataan boleh laku. Pengguna akhir mungkin tidak boleh menggunakan setiap operator secara praktikal, tetapi semua operator harus disokong oleh produk, termasuk utiliti.

· Pertimbangkan definisi data sekali sahaja.

· Abaikan baris yang mengandungi ulasan.

· Jangan sertakan kod nyahpepijat atau kod sementara lain (perisian percubaan, alat ujian, dsb.).

· Kira setiap permulaan, panggilan atau kemasukan makro (arahan pengkompil) sebagai sebahagian daripada kod sumber di mana beberapa tindakan dilakukan. Jangan kira pernyataan yang digunakan semula.

Dalam amalan, apabila menganggar saiz sistem perisian yang besar, metrik KSLOC beribu-ribu baris kod sumber sering digunakan. Metrik ini paling kerap digunakan dalam penilaian produktiviti, yang dikira sebagai KSLOC/SM, di mana SM ialah bulan kakitangan.

Menganggar LOC menggunakan pertimbangan pakar dan penjumlahan bawah ke atas.

Dengan mengandaikan bahawa struktur WBS untuk perisian yang sedang dibangunkan dipecahkan kepada beberapa tahap penguraian yang menyerlahkan komponen sebenar sistem perisian dan juga menyediakan asas untuk butiran lanjut, adalah mungkin untuk mencipta beberapa jenis penunjuk saiz "statistik" yang boleh diperolehi menggunakan proses pengukuran dan penjumlahan.

Saiz setiap komponen boleh diperolehi dengan menemu bual pakar yang telah membangunkan sistem sedemikian, atau dengan menemu bual bakal pembangun sistem tersebut. Akibatnya, ia menjadi mungkin untuk menganggarkan saiz setiap blok dengan peringkat bawah struktur WBS. Selepas menjumlahkan anggaran anggaran, idea tentang saiz sistem perisian secara keseluruhan muncul. Kaedah ini dipanggil saiz bawah ke atas.

Penunjuk ini boleh dipertingkatkan jika setiap penganggar menunjukkan bukan satu, tetapi tiga nilai saiz yang mungkin: pesimis, optimistik dan lebih kurang realistik. Kemudian anggaran optimistik dan pesimis ditambah kepada nilai realistik didarab dengan 4, dan jumlahnya dibahagikan dengan 6.

Kaedah ini membolehkan kita memperoleh penilaian yang lebih seimbang yang mengambil kira keadaan ketidakpastian di mana proses penilaian itu sendiri berlaku.

Contohnya, jika sesetengah objek yang dipaparkan pada struktur WBS boleh mengambil masa daripada 200 hingga 400 baris kod dan kemungkinan besar saiznya lebih hampir kepada 200, maka menggunakan pendekatan yang dicadangkan anda boleh mendapatkan anggaran berikut: (200+(250*4) +400)/6 = 266 LOC.

Menganggar bilangan LOC mengikut analogi

Salah satu cara untuk menilai sistem perisian pada peringkat projek ialah membandingkan sifat fungsinya dengan analog sedia ada.

Sebagai contoh, kami mempunyai modul siap sedia A, saiznya ialah 2345 LOC. Kami ingin mencipta modul baharu yang akan menjadi seperti Modul A, tetapi akan menambah beberapa sifat tambahan. Di samping itu, kami mengetahui cara membuat kod program lebih padat. Akibatnya, saiz modul A" boleh dianggarkan pada 3000 LOC.

Sudah tentu, kaedah ini tidak begitu tepat, kerana semasa menulis modul A, bahasa pengaturcaraan yang berbeza boleh digunakan, algoritma dengan tahap kerumitan yang berbeza boleh digunakan, dan jumlah pemodelan yang berbeza boleh digunakan (simulasi, emulasi, aplikasi sebenar), tetapi penilaian sedemikian masih mempunyai beberapa justifikasi kuantitatif.

Kelebihan menggunakan LOC sebagai unit ukuran

· Unit-unit ini meluas dan boleh disesuaikan.

· Mereka membenarkan perbandingan saiz dan kaedah pengukuran prestasi dalam pelbagai kumpulan pemaju.

· Berkaitan secara langsung dengan produk akhir.

· Unit LOC boleh dianggarkan sebelum projek disiapkan.

· Penilaian saiz perisian dijalankan dengan mengambil kira pandangan pembangun.

· Aktiviti penambahbaikan berterusan adalah berdasarkan penilaian kuantitatif. Dalam kes ini, saiz yang diramalkan boleh dibandingkan dengan mudah saiz sebenar pada peringkat analisis pasca projek. Ini membolehkan pakar menimba pengalaman dan menambah baik kaedah penilaian itu sendiri.

· Mengetahui saiz produk perisian dalam unit LOC membolehkan anda menggunakan kebanyakan kaedah sedia ada untuk menilai petunjuk teknikal dan ekonomi sesuatu projek (seperti kos buruh, tempoh projek, kos, dll.).

Kelemahan yang berkaitan dengan penggunaan penilaian LOC

· Unit ukuran ini sukar digunakan pada peringkat awal kitaran hayat apabila tahap ketidakpastian adalah tinggi.

· Arahan awal mungkin berbeza bergantung pada bahasa pengaturcaraan, kaedah reka bentuk, gaya dan kebolehan pengaturcara.

· Penggunaan kaedah anggaran kiraan baris tidak dikawal oleh piawaian industri seperti ISO.

· Pembangunan perisian boleh dikaitkan dengan kos besar yang tidak bergantung secara langsung pada saiz kod program. Ini adalah apa yang dipanggil kos tetap yang berkaitan dengan pembangunan spesifikasi keperluan, penyediaan dokumentasi pengguna, dsb., yang tidak termasuk dalam kos langsung pengekodan.

· Pengaturcara mungkin diberi ganjaran yang tidak adil kerana mencapai penunjuk LOC yang tinggi jika pengurusan menganggap ini sebagai tanda produktiviti yang tinggi. Walaupun kadangkala sejumlah besar pengekodan adalah bukti reka bentuk program yang tidak cukup teliti. Kod sumber bukanlah penghujungnya sendiri apabila mencipta produk siap, adalah lebih penting untuk memastikan kefungsian perisian yang diperlukan dan mencapai produktiviti pasukan yang tinggi.

· Apabila mengira unit LOC, anda harus membezakan antara kod yang dijana secara automatik dan kod bertulis secara manual. Ini menjadikannya sangat sukar untuk digunakan kaedah automatik mengira.

· Penunjuk LOC tidak boleh dijalankan semasa penormalan jika ia digunakan platform yang berbeza atau jenis bahasa pengaturcaraan.

· Satu-satunya cara mendapatkan anggaran LOC ialah perbandingan dengan perkembangan atau pendapat pakar yang serupa, dan anggaran ini pada mulanya tidak tepat.

· Penjana kod selalunya menyebabkan volum kod yang berlebihan, yang boleh menyebabkan ralat ketara dalam menganggar saiz kod.

Produktiviti pengaturcara sering diukur dengan bilangan baris kod yang dihasilkan, tetapi ini tidak selalunya benar. Jika seorang pengaturcara menulis 250 dan bukannya 200 baris sebulan, ini tidak bermakna dia sudah pasti menjadi pekerja yang lebih baik dan patut diberi galakan. Adalah lebih tepat untuk mengambil kira bukan sahaja kuantiti kod yang ditulis, tetapi juga kualitinya, yang boleh dilakukan dengan menggunakan formula berikut:

Bilangan kecacatan / bilangan baris kod

Fasa pengekodan dalam kebanyakan projek mengambil masa antara 7% dan 20% daripada usaha, jadi kualiti kod adalah lebih penting daripada jumlah kod.

Menggunakan titik fungsi sebagai unit saiz program.

Alternatif pertama dan paling berjaya kepada kaedah mengira baris sumber kod ialah metodologi yang dibangunkan pada tahun 1979 oleh Allan Albrecht dari IBM, dipanggil Analisis Titik Fungsi (FPA, daripada Analisis Titik Fungsi). Ia berdasarkan pandangan perisian dari luar, dari kedudukan pengguna sistem, dan bukan "dari luar" sifat dalamannya (seperti LOC). Hasil daripada analisis keperluan awal kepada PS dan penjelasan keperluan sebenar pengguna ditentukan oleh kelantangan kefungsian sistem, penunjuknya adalah fungsi pemprosesan maklumat Level rendah, sejauh mana ia sesuai dengan sistem pemikiran pengguna, dan sebagai tambahan kepada fungsi, data yang diproses oleh fungsi ini. Oleh itu, metodologi FPA adalah berdasarkan idea ​​mengurai fungsi dan data ke tahap maksimum yang boleh diterima (dari sudut pandangan pengguna). Jumlah keupayaan fungsi PS (selepas ini hanya saiz berfungsi) ditentukan dalam apa yang dipanggil unit fungsi konvensional FP - daripada Titik Fungsi

Dalam tempoh lima tahun dari penubuhannya, metodologi FPA dan kaedah saiz telah digilap oleh A. Albrecht dan menjalani ujian praktikal, dan pada pertengahan 80-an Kumpulan Pengguna Titik Fungsi Antarabangsa (IFPUG, daripada Kumpulan Pengguna Titik Fungsi Antarabangsa) telah dicipta, yang menyokong evolusi kaedah selanjutnya.

Kaedah titik fungsi membolehkan anda menyelesaikan masalah berikut:

· Menyelesaikan masalah yang berkaitan dengan kesukaran mendapatkan penilaian LOC pada peringkat awal kitaran hayat.

· Tentukan kuantiti dan kerumitan data input dan output, strukturnya, dan antara muka luaran yang dikaitkan dengan sistem perisian.

Kaedah titik fungsi menggunakan 5 ciri maklumat.

1. Bilangan input luaran. Semua input pengguna yang menyediakan data aplikasi yang berbeza dikira. Penyertaan mesti diasingkan daripada permintaan, yang dikira secara berasingan.

2. Bilangan pin luaran. Semua pin dikira dan keputusan yang dikira oleh aplikasi perisian dikembalikan kepada pengguna. Dalam konteks ini, output bermaksud laporan, skrin, cetakan, mesej ralat. Unit data individu dalam laporan tidak dikira secara berasingan.

3. Bilangan permintaan luar. Permintaan ditakrifkan sebagai input dialog yang menghasilkan tindak balas program segera dalam bentuk output dialog. Dalam kes ini, input dialog tidak disimpan dalam aplikasi, dan output dialog tidak memerlukan pengiraan. Semua permintaan dikira - setiap satu dikira secara berasingan.

4. Bilangan fail logik dalaman. Semua fail logik (iaitu kumpulan data logik yang boleh menjadi sebahagian daripada pangkalan data atau fail berasingan) dikira.

5. Bilangan fail antara muka luaran. Semua fail logik daripada aplikasi lain yang dirujuk oleh aplikasi ini dikira.

Input, output dan permintaan dikategorikan sebagai transaksi. Transaksi ialah proses asas yang ditentukan pengguna yang memindahkan data antara persekitaran luaran dan aplikasi perisian. Dalam kerja mereka, urus niaga menggunakan fail dalaman dan luaran, yang mana definisi berikut diterima pakai.

Input luaran ialah proses asas yang memindahkan data dari persekitaran luaran ke dalam aplikasi. Data boleh datang dari skrin input atau dari aplikasi lain. Data boleh digunakan untuk mengemas kini fail logik dalaman. Data boleh mengandungi maklumat pengurusan dan perniagaan. Data kawalan tidak boleh mengubah suai fail logik dalaman.

Inferens luaran ialah proses asas yang memindahkan data yang dikira dalam aplikasi ke persekitaran luaran. Di samping itu, fail logik dalaman boleh dikemas kini semasa proses ini. Data mencipta laporan atau fail output yang dihantar ke aplikasi lain. Laporan dan fail dibuat berdasarkan fail logik dalaman dan fail antara muka luaran. Selain itu, proses ini mungkin menggunakan data input yang termasuk kriteria carian dan parameter yang tidak disokong oleh fail logik dalaman. Data input datang dari luar, tetapi bersifat sementara dan tidak disimpan dalam fail logik dalaman.

Permintaan luaran ialah proses asas yang berfungsi dengan kedua-dua data input dan output. Hasilnya ialah data yang dikembalikan daripada fail logik dalaman dan fail antara muka luaran. Bahagian input proses tidak mengubah suai fail logik dalaman, dan bahagian output tidak membawa data yang dikira oleh aplikasi (ini ialah perbezaan antara permintaan dan output).

Fail logik dalaman ialah kumpulan data berkaitan logik yang boleh dikenali pengguna yang dihoskan dalam aplikasi dan disampaikan melalui input luaran.

Fail antara muka luaran ialah kumpulan data berkaitan logik yang boleh dikenali pengguna yang dihoskan dan diselenggara dalam aplikasi lain. Fail luaran permohonan ini ialah fail logik dalaman dalam aplikasi lain.

Untuk urus niaga, kedudukan adalah berdasarkan bilangan pautan fail dan bilangan jenis item data. Untuk fail, kedudukan adalah berdasarkan bilangan jenis elemen rekod dan jenis elemen data yang disertakan dalam fail.

kitaran hayat usaha perisian

Disiarkan di Allbest.ru

...

Dokumen yang serupa

    Kebolehlaksanaan menggunakan model kitaran hayat sebagai alat untuk mengurus perubahan dalam perusahaan. Analisis jenis kitaran hayat, kajian hubungan mereka pada tahap pengurusan ekonomi yang sesuai. Dinamik proses perubahan.

    ujian, ditambah 11/12/2008

    Projek sebagai satu set kerja yang saling berkaitan bertujuan untuk mencipta hasil yang unik dalam rangka kekangan masa dan belanjawan, ciri utamanya. Merancang kandungan dan sumber, masa dan kos projek, mengumpul keperluan.

    pembentangan, ditambah 02/09/2015

    Tujuan produk perisian. Keperluan untuk ciri fungsi. Penyelidikan pasaran produk. Kitaran hayat produk. Pengiraan intensiti buruh pembangunan program. Pembentukan harga cadangan pemaju, pengiraan kos modal.

    kerja kursus, tambah 28/12/2012

    Kitaran hayat projek dan fasanya. Penilaian kemampanan projek (risiko dan tahap pulang modal). Faktor kehilangan masa semasa pelaksanaannya. Merancang kerja projek untuk mewujudkan kelab biliard dalam masa 51 minggu, dengan kos tidak lebih daripada 3.5 juta rubel.

    kerja kursus, ditambah 22/12/2011

    Kitaran hayat sesebuah organisasi ialah satu set peringkat pembangunan yang dilalui oleh syarikat semasa kewujudannya. Ciri-ciri tahap kolegial, pemformalan aktiviti, penstrukturan semula, kemelesetan. Peluang dan batasan model kitaran hayat.

    pembentangan, ditambah 28/11/2013

    Konsep kitaran hayat sesebuah organisasi, its pelbagai model dan peringkat utama. Tindakan pengurus pada pelbagai peringkat pembangunan organisasi, menjanjikan model evolusinya. Analisis kitaran hayat yang dilalui oleh syarikat menggunakan contoh Lecrus Ural LLC.

    kerja kursus, ditambah 28/02/2012

    Intipati dan struktur kitaran hayat organisasi, peringkat utama dan kepentingannya. Metodologi untuk menganalisis kitaran hayat sesebuah organisasi. Mekanisme untuk mengurus organisasi mengikut peringkat kitaran hayatnya. Faktor-faktor yang mempengaruhi jangka hayat sesebuah organisasi.

    kerja kursus, ditambah 11/10/2010

    Organisasi pengeluaran utama. Konsep dan klasifikasi proses pengeluaran. Rangkaian teknologi pengeluaran produk. Pengiraan tempoh kitaran pengeluaran proses yang mudah. Cara untuk mengurangkan tempoh kitaran pengeluaran.

    pembentangan, ditambah 11/06/2012

    Konsep umum tentang kitaran hayat projek. Proses asas pengurusan projek. Analisis kitaran hayat dan proses projek minyak dan gas menggunakan contoh projek aktiviti OAO LUKOIL. Penilaian fasa kitaran hayat projek dan cadangan untuk pengurusannya.

    kerja kursus, ditambah 01/13/2014

    Struktur organisasi untuk menguruskan projek pembukaan restoran. Pecahan kerja projek. Matriks pembahagian tugas pengurusan pentadbiran. Penentuan penunjuk relatif intensiti buruh dalaman. Perbandingan intensiti buruh dan kegunaan.

Mengira titik fungsi yang dikaitkan dengan urus niaga ialah langkah keempat analisis titik fungsi.

Transaksi- ini ialah proses tertutup asas tidak boleh dibahagikan yang mewakili nilai untuk pengguna dan memindahkan produk dari satu keadaan yang konsisten ke keadaan yang lain.

Kaedahnya berbeza jenis berikut urus niaga (Jadual 9):

  • EI (input luaran) - transaksi input luaran, operasi asas untuk memproses data atau mengawal maklumat yang memasuki sistem dari luar.
  • EO (output luaran) - urus niaga output luaran, operasi asas untuk menjana data atau maklumat kawalan yang melampaui sistem. Mengandaikan beberapa logik untuk memproses atau mengira maklumat daripada satu atau lebih ILF.
  • EQ (pertanyaan luaran) - pertanyaan luaran, operasi asas yang, sebagai tindak balas kepada permintaan luaran, mendapatkan semula data atau maklumat kawalan daripada ILF atau EIF.

Jadual 9. Perbezaan utama antara jenis transaksi. Lagenda: O - utama; D - tambahan; NA - tidak berkenaan.

Menilai kerumitan transaksi adalah berdasarkan ciri-ciri berikut:

  • FTR ( jenis fail dirujuk) - membolehkan anda mengira nombor pelbagai fail(objek maklumat) jenis ILF dan/atau EIF diubah suai atau dibaca dalam transaksi.
  • DET (jenis elemen data) - medan data unik yang tidak boleh diulang. Contoh. EI: medan input, butang. EO: medan data laporan, mesej ralat. EQ: medan input carian, medan output hasil carian.

Untuk menilai kerumitan urus niaga, matriks digunakan, yang dibentangkan dalam Jadual 10 dan Jadual 11.

Jadual 10. Matriks kerumitan transaksi input luaran (EI)

Penilaian urus niaga pada titik fungsi tidak sejajar (UFP) boleh didapati daripada matriks (Jadual 12)

Jadual 12. Kerumitan transaksi dalam titik fungsi tidak sejajar (UFP)

Sebagai contoh, pertimbangkan penilaian transaksi kawalan (EI) untuk kotak dialog yang menentukan pilihan semakan ejaan dalam MS Tinjauan Pejabat(Rajah 40).

Rajah 40. Kotak dialog yang mengawal semakan ejaan dalam MS Office Outlook

Setiap "Kotak semak" dinilai sebagai 1 DET. Senarai jatuh turun - 1 DET. setiap satu butang kawalan harus dianggap sebagai transaksi yang berasingan. Sebagai contoh, jika kami menilai transaksi kawalan menggunakan butang "OK", maka untuk transaksi ini kami mempunyai 1 FTR dan 8 DET. Oleh itu, mengikut matriks (Jadual 10), kita boleh menilai kerumitan transaksi sebagai Rendah. Dan akhirnya, mengikut matriks (Jadual 12), transaksi ini mesti dijaringkan pada 3 titik fungsi tidak sejajar (UFP).

Menentukan jumlah bilangan titik fungsi tidak sejajar (UFP)

Jumlah volum produk pada titik fungsi tidak sejajar (UFP) ditentukan dengan menjumlahkan kesemuanya objek maklumat(ILF, EIF) dan operasi asas (transaksi EI, EO, EQ).

Menentukan nilai faktor penjajaran (FAV)

Selain keperluan fungsian, produk tertakluk kepada keperluan seluruh sistem yang mengehadkan pembangun dalam memilih penyelesaian dan meningkatkan kerumitan pembangunan. Untuk mengambil kira kerumitan ini, faktor perataan (VAF) digunakan. Nilai faktor VAF bergantung pada 14 parameter yang menentukan ciri sistem produk:

1. Pertukaran data(0 - produk ialah aplikasi kendiri; 5 - produk berkomunikasi melalui lebih daripada satu protokol telekomunikasi).

2. Pemprosesan Data Teragih (0- produk tidak memindahkan data; 5 - pemprosesan data teragih dilakukan oleh beberapa komponen sistem).

3. Prestasi (0- keperluan prestasi pengguna tidak ditetapkan; 5 - masa tindak balas sangat terhad, kritikal untuk semua operasi perniagaan, keperluan khas diperlukan untuk memenuhi keperluan penyelesaian reka bentuk dan alat analisis.

4. Had sumber perkakasan (0- tiada sekatan; 5 - keseluruhan produk mesti berfungsi pada pemproses tertentu dan tidak boleh diedarkan).

- tidak banyak transaksi, tiada puncak; 5 - bilangan urus niaga adalah besar dan tidak sekata, penyelesaian dan alat khas diperlukan).

6. Keamatan interaksi pengguna (0- semua transaksi diproses masuk mod kumpulan; 5 - lebih daripada 30% urus niaga adalah interaktif).

7. Ergonomik(prestasi pengguna akhir) (0 - tiada keperluan khas; 5 - keperluan kecekapan yang sangat ketat).

8. Kadar perubahan data(ILF) oleh pengguna (0 - tidak diperlukan; 5 - perubahan intensif, keperluan pemulihan yang ketat).

9. Kesukaran pemprosesan (0- pemprosesan adalah minimum; 5 - keperluan keselamatan, kerumitan logik dan matematik, multi-threading).

10. Guna semula(0 - tidak diperlukan; 5 - produk direka bentuk sebagai komponen boleh guna semula standard).

11. Kemudahan pemasangan (0- tiada keperluan; 5 - pemasangan dan pengemaskinian perisian dilakukan secara automatik).

12. Kemudahan pentadbiran(0 - tidak diperlukan; 5 - sistem pulih sendiri secara automatik).

13. Mudah alih(0 - produk hanya mempunyai 1 pemasangan pada satu pemproses; 5 - sistem diedarkan dan memerlukan pemasangan pada pelbagai perkakasan dan OS).

14. Fleksibiliti (0- tidak dikehendaki; 5 - sistem yang fleksibel pertanyaan dan membina laporan tersuai, model data diubah oleh pengguna dalam mod interaktif).

14 parameter sistem(darjah pengaruh, DI) dinilai pada skala dari 0 hingga 5. Pengiraan jumlah kesan 14 ciri sistem (jumlah darjah pengaruh, TDI) dilakukan dengan penjumlahan mudah:

TDI = ∑DI

Nilai faktor perataan dikira menggunakan formula

VAF = (TDI *0.01) + 0.65

Sebagai contoh, jika setiap daripada 14 parameter sistem menerima skor 3, maka jumlah kesannya ialah TDI = 3 * 14 = 42. Dalam kes ini, nilai faktor penyamaan ialah: VAF = (42 * 0.01) + 0.65 = 1.07

Pengiraan bilangan titik fungsi sejajar (AFP)

Penilaian lanjut pada titik fungsi sejajar bergantung pada jenis penilaian. Anggaran awal bilangan titik fungsi sejajar untuk aplikasi perisian ditentukan oleh formula berikut:

AFP = UFP * VAF.

Ia hanya mengambil kira fungsi baharu yang dilaksanakan dalam produk. Projek pembangunan produk dinilai dalam DFP (titik fungsi pembangunan) menggunakan formula:

DFP = (UFP + CFP) * VAF,

di mana CFP(titik fungsi penukaran) - mata fungsi yang dikira untuk kefungsian tambahan yang diperlukan semasa pemasangan produk, contohnya, pemindahan data.

Projek penghalusan dan penambahbaikan produk dinilai di EFP (titik fungsi peningkatan) menggunakan formula:

EFP = (TAMBAH + CHGA + CFP) * VAFA + (DEL* VAFB),

  • TAMBAH- titik fungsi untuk fungsi tambahan;
  • CHGA- mata fungsi untuk fungsi yang diubah suai, dikira selepas pengubahsuaian;
  • VAFA- nilai faktor perataan yang dikira selepas projek siap;
  • DEL- skop fungsi jauh;
  • VAFB- nilai faktor perataan yang dikira sebelum permulaan projek.

Jumlah kesan prosedur penjajaran adalah dalam ±35% daripada volum yang dikira dalam UFP.

Kaedah analisis titik fungsi tidak mengatakan apa-apa tentang keamatan buruh membangunkan produk yang dinilai. Isu ini diselesaikan hanya jika syarikat pemaju mempunyai statistik sendiri mengenai kos buruh untuk pelaksanaan mata berfungsi. Jika statistik sedemikian tidak tersedia, maka kaedah COCOMO II boleh digunakan untuk menganggarkan intensiti buruh dan masa projek.

Anggaran bilangan titik berfungsi untuk produk perisian diperoleh berdasarkan data yang ditentukan sebagai hasil daripada menganalisis kawasan maklumat program dan mengkaji ciri fungsinya.

Parameter maklumat ditakrifkan seperti berikut:

Bilangan log masuk pengguna. Setiap input pengguna yang menghasilkan data sasaran yang berbeza dikira. aplikasi tertentu. Input mestilah berbeza daripada permintaan pengguna, yang dikira secara berasingan.

Bilangan pengguna keluar. Setiap output pengguna dikira, yang mencipta maklumat khusus aplikasi untuk pengguna. Output termasuk laporan, skrin, mesej ralat, dsb. Elemen individu data keluaran tidak dikira.

Bilangan permintaan pengguna. Setiap permintaan dikira, dianggap sebagai input dalam talian yang berasingan, yang menghasilkan penjanaan tindak balas perisian segera dalam bentuk output dalam talian.

Bilangan Fail. Bilangan fail logik utama (kumpulan data logik) yang boleh menjadi sebahagian daripada pangkalan data yang cukup besar dikira.

Bilangan antara muka luaran. Semua antara muka boleh dibaca mesin dikira (contohnya, akses kepada fail data pada media luaran yang digunakan untuk memindahkan maklumat ke sistem lain).

Setiap nilai parameter berangka diberikan faktor pemberat yang sepadan, yang mengambil kira betapa sukar atau mudahnya parameter yang dipersoalkan boleh dilaksanakan. Jelas sekali, penilaian kerumitan sedemikian adalah pakar dan agak subjektif.

Untuk pengiraan akhir bilangan titik berfungsi, iaitu ukuran FT untuk keseluruhan produk perisian, adalah perlu untuk tambahan mengambil kira 14 faktor, yang mana skala pekali pemberat telah ditetapkan, mencerminkan tahap pengaruh sesuatu faktor tertentu semasa pengendalian produk perisian. Skala pekali adalah seperti berikut:

Tiada pengaruh - 0.

Pengaruh rawak -1.

Pengaruh sederhana - 2.

Pengaruh purata - 3.

Pengaruh yang ketara - 4.

Pengaruh yang ketara - 5.

Dengan menggunakan skala ini, tahap pengaruh setiap faktor berikut yang menentukan ciri-ciri fungsi produk juga dinilai secara pakar:

1. Adakah sistem memerlukan sandaran yang boleh dipercayai dan pemulihan seterusnya selepas kegagalan?

2. Adakah pemindahan data diperlukan?

3. Adakah terdapat fungsi pemprosesan teragih?

4. Adakah prestasi produk perisian kritikal?

5. Adakah sistem akan berfungsi dalam persekitaran operasi sedia ada atau lebih kompleks?

6.Adakah sistem memerlukan kemasukan data dalam talian?

7. Adakah perlu memasukkan transaksi dalam talian yang akan membolehkan penciptaan skrin yang berbeza digunakan untuk banyak operasi?

8. Adakah fail utama sedang dikemas kini dalam dalam talian?

9. Adakah input, output, fail atau pertanyaan kompleks?

10. Adakah algoritma yang kompleks pemprosesan data

Pekali pemberat diberikan dalam jadual.

Prosedur pengiraan

1. Tentukan parameter sistem (input/output)

2. Setiap parameter diberikan faktor pemberatnya sendiri, dengan mengambil kira kerumitan pelaksanaan parameter

3. Tentukan keputusan keseluruhan untuk semua parameter

4. Bilangan FT ditentukan oleh formula FT=jumlah besar(0.65+0.01 jumlah pekali)

FT boleh digunakan untuk menentukan produktiviti buruh, kos membangunkan satu mata, bilangan halaman dokumentasi setiap mata, dsb.

Kaedah ini digunakan untuk mengukur prestasi sebagai pengganti kepada pendekatan linear yang lapuk di mana prestasi diukur dengan bilangan baris kod. Titik fungsi pertama kali dicadangkan oleh pekerja IBM Alan Albrecht pada tahun 1979.

Kelebihan kaedah ini ialah memandangkan penggunaan titik fungsi adalah berdasarkan kajian keperluan, anggaran kos buruh yang diperlukan boleh dibuat pada peringkat terawal projek. Untuk menyokong dan membangunkan kaedah ini, Kumpulan Pengguna Titik Fungsi Antarabangsa (IFPUG - Kumpulan Pengguna Titik Fungsi Antarabangsa) telah diwujudkan pada tahun 1986.

Kaedahnya adalah seperti berikut.

Pertama, fungsi perisian yang dibangunkan diserlahkan, dan pada peringkat pengguna, bukan kod program. Sebagai contoh, pertimbangkan pakej perisian yang melaksanakan pelbagai kaedah untuk menyusun tatasusunan satu dimensi. Salah satu fungsi pengguna kompleks ini akan menjadi pilihan kaedah, dan kami akan menerangkannya sebagai contoh.

Langkah seterusnya kaedah ialah mengira bilangan faktor yang diberikan di bawah:

  • input luaran. Hanya input yang mempengaruhi fungsi secara berbeza adalah berbeza. Fungsi pemilihan kaedah mempunyai satu input luaran;
  • jalan keluar luar. Keluaran untuk pelbagai algoritma. Mari kita bayangkan bahawa fungsi kami menghasilkan mesej - penerangan teks kaedah yang dipilih, dan memanggil fungsi lain yang secara langsung melaksanakan algoritma pengisihan yang dipilih, oleh itu, ia mempunyai dua output;
  • permintaan luar. Dalam contoh kami tidak ada;
  • fail logik dalaman - sekumpulan data yang dicipta atau diselenggara oleh fungsi dikira sebagai satu. Sebagai fail logik dalaman untuk fungsi kami, kami akan ambil fail teks, mengandungi perihalan algoritma;
  • fail logik luaran - data pengguna yang terdapat dalam fail luar fungsi ini. Setiap kumpulan data diambil sebagai satu. Luaran kepada fungsi kami ialah fail dengan hasil pemprosesan.

Seterusnya, nilai yang diperoleh didarabkan dengan pekali kerumitan untuk setiap faktor (mengikut data 1PP1Yu) dan disimpulkan untuk mendapatkan saiz penuh produk perisian. Nilai pekali ini diberikan dalam jadual. 9.1.

Jadual 9.1. Nilai pekali kesukaran

Untuk contoh yang sedang kita pertimbangkan, mari kita ambil nilai yang diberikan dalam jadual. 9.2.

Saiz fungsi kami ialah:

FR = 1x3+1x4+1x5+1x7+1x7 = 26.

Nombor ini ialah penilaian awal dan memerlukan penjelasan.

Jadual 9.2. Contoh pekali kesukaran

Parameter

Input luaran

Keluaran luaran

Permintaan luar

Fail logik dalaman

Fail logik luaran

Langkah seterusnya dalam menentukan saiz kod menggunakan kaedah titik fungsi ialah memberikan pemberat (dari 0 hingga 5) kepada setiap ciri reka bentuk. Kami menyenaraikan ciri-ciri ini:

  • 1. Adakah ianya diperlukan sandaran data?
  • 2. Pertukaran data diperlukan?
  • 3. Adakah anda menggunakan pengkomputeran teragih?
  • 4. Adakah prestasi penting?
  • 5. Adakah program berjalan pada perkakasan yang banyak dimuatkan?
  • 6. Adakah kemasukan data dalam talian diperlukan?
  • 7. Adakah anda menggunakan banyak borang untuk kemasukan data?
  • 8. Adakah medan pangkalan data dikemas kini dengan segera?
  • 9. Adakah input, output, pertanyaan kompleks?
  • 10. Adakah pengiraan dalaman kompleks?
  • 11. Adakah kod tersebut bertujuan untuk digunakan semula?
  • 12. Adakah penukaran data dan pemasangan perisian diperlukan?
  • 13. Adakah anda memerlukan banyak pemasangan dalam organisasi yang berbeza?
  • 14. Adakah anda ingin mengekalkan penyesuaian dan kemudahan penggunaan?

Nilai untuk ciri ini ditakrifkan seperti berikut: 0 - tidak pernah; 1 - kadang-kadang; 2 - jarang; 3 - purata; 4 - selalunya; 5 - sentiasa.

Ciri-ciri ini untuk fungsi contoh diringkaskan dalam jadual. 9.3.

Jadual 9.3. Contoh ciri projek

Ciri

Nilai contoh

Ciri

Nilai contoh

Tentukan 5 - jumlah semua pemberat.

Akhir sekali, saiz fungsian yang diperhalusi dikira menggunakan formula

UFR = FR X (0.65 + 0.01 X 5). (9.3)

Saiz fungsian yang diperhalusi bagi kaedah pemilihan fungsi adalah seperti berikut:

UFR = 26 x (0.65 + 0.01 x 29) = 17.19.

Keputusan yang terhasil menunjukkan bahawa fungsi pemilihan kaedah agak mudah dan tidak memerlukan banyak tenaga kerja. Nilai yang terhasil kemudiannya digunakan untuk menganggarkan kos projek.

Pada masa ini, terdapat beberapa pengubahsuaian kaedah titik fungsi.

Mata hartanah

Sekiranya ciri-ciri yang diterangkan di atas tidak menggambarkan kerumitan sebenar pelaksanaan (contohnya, semasa membangunkan sistem operasi), bukannya kaedah titik fungsi, versi yang dipertingkatkan, yang dicadangkan pada tahun 1988 oleh Capers Jones, digunakan - kaedah titik sifat. Kaedah ini melaraskan anggaran yang diperolehi oleh kaedah titik fungsi dengan mengambil kira kerumitan algoritma produk perisian.

Kaedah Mark II

Kaedah Mark II telah diperkenalkan oleh Charles Simons juga pada tahun 1988. Kaedah ini lebih sesuai untuk menilai sistem kompleks berbanding kaedah titik fungsi klasik. Ia membolehkan anda mencapai hasil yang sama semasa menilai sistem secara keseluruhan dan apabila merumuskan penilaian yang diperoleh untuk subsistem konstituennya.

Titik fungsi 3D

Pada tahun 1991, bahagian perisian Boeing Corporation mencadangkan penyelesaian lain - kaedah titik fungsi tiga dimensi. Perbezaan daripada kaedah klasik ialah kerumitan produk perisian dinilai dalam tiga bidang - data, fungsi dan pengurusan. Kelebihan kaedah ini ialah kebolehgunaannya bukan sahaja untuk penilaian projek perisian, tetapi juga kepada penilaian intensiti buruh tugas dalam bidang aktiviti lain.

Mata objek

Kaedah titik objek menyesuaikan kaedah titik fungsi asal kepada teknologi pengaturcaraan berorientasikan objek.

Menentukan Sempadan Perisian

Perisian yang dibangunkan adalah tempatan sepenuhnya dan tidak menyediakan pertukaran data dengan perisian lain melalui rangkaian tempatan atau global.

Pengenalpastian dan penilaian kefungsian data (ILF, EIF)

Perisian ini menyediakan kerja dengan satu fail logik dalaman (ILF). DALAM fail ini Semua maklumat yang diperlukan untuk perisian disimpan: saiz matriks, pekalinya, ketepatan pengiraan dan anggaran awal.

Bilangan jenis elemen data (DET) bagi fail logik dalaman ialah enam:

1. n - bilangan baris dalam matriks. Bilangan baris adalah sama dengan bilangan lajur, kerana pengiraan dijalankan untuk apa yang dipanggil matriks persegi.

2. Mas - diberi matriks.

3. - ketepatan yang ditetapkan.

4. x 0 - anggaran awal.

5. - hasil pengiraan ialah nilai eigen maksimum bagi sesuatu matriks.

6. k - bilangan lelaran yang diperlukan untuk mengira nilai eigen maksimum matriks dengan ketepatan yang diberikan.

Bilangan jenis elemen rekod (RET) untuk fail logik dalaman ialah empat:

1. Mas - matriks.

2. x 0 - vektor.

3. n, k - integer.

4. , - nombor nyata.

Oleh itu, tahap kerumitan fail logik dalaman ditentukan sebagai rendah.

Perisian ini tidak mempunyai fail antara muka luaran (ELF).

Pengenalpastian dan penilaian kefungsian transaksi (EI, EO, EQ)

Perisian ini menyediakan dua input luaran (EI): input papan kekunci dan input fail.

Untuk input papan kekunci, bilangan jenis elemen data (DET) ialah lima: Mas, x 0 , n dan butang "Masukkan data daripada papan kekunci". Bilangan jenis yang digunakan (FTR) ialah lima.

Tahap kesukaran untuk jenis ini input ditakrifkan sebagai tinggi.

Untuk input fail, keputusan adalah sama seperti input papan kekunci, kecuali menggunakan rentetan aksara dengan nama fail dan butang yang sepadan untuk memuatkan data. Iaitu, DET = 6, FTR = 5. Tahap kesukaran untuk jenis input ini ditakrifkan sebagai tinggi.

Perisian ini hanya mempunyai satu permintaan luaran (EQ) - permintaan untuk ketepatan data yang dimasukkan. Untuk ini, pembolehubah Mas, x 0 , n diperlukan, nilainya diperiksa dengan sewajarnya: untuk matriks - semak untuk memasukkan simbol tidak sah - tanda atau huruf, untuk anggaran awal - untuk kesamaan kepada sifar, memasukkan aksara tidak sah, untuk saiz matriks - kepunyaan had yang ditentukan, untuk ketepatan - had pesanan. Oleh itu, DET=4, FTR=3. Maklumat output daripada permintaan ini ialah "Maklumat yang dimasukkan adalah betul" atau "Maklumat yang dimasukkan tidak betul." Iaitu, DET=FTR=1. Oleh itu, tahap kerumitan permintaan luaran ditakrifkan sebagai sederhana.

Alat perisian ini menyediakan dua output luaran: output data ke fail dan output data ke skrin. Untuk memaparkan data pada skrin, bilangan jenis elemen data DET adalah sama dengan empat: ketepatan yang ditentukan, nilai eigen maksimum matriks yang terhasil, bilangan lelaran dan butang "Kira keputusan". Bilangan jenis FTR yang digunakan ialah tiga. Oleh itu, tahap kerumitan paparan ditakrifkan sebagai sederhana.

Untuk menulis data pada fail, bilangan jenis elemen data DET ialah lima: nilai eigen maksimum, ketepatan yang ditentukan, bilangan lelaran, nama fail dan butang "Tulis hasil ke fail". Bilangan jenis FTR yang digunakan ialah empat. Oleh itu, tahap kerumitan output kepada fail ditakrifkan sebagai sederhana.

Penentuan faktor normalisasi (VAF)

Mari kita hitung bilangan titik fungsi tidak piawai.

Jadual 1. Pengiraan UFPC

Ciri-ciri utama sistem:

· Perisian ini dilaksanakan sebagai satu pakej pada komputer peribadi autonomi - 0.

· Data tidak dipindahkan antara perisian dan komponen sistem - 0.

· Keperluan prestasi dan reka bentuk perisian telah ditetapkan dan disemak, tetapi tiada langkah khas diperlukan untuk memenuhinya - 1.

· Tiada sekatan tersurat atau tersirat ke atas penggunaan sumber - 0.

· Tempoh transaksi puncak tidak dijangka - 0.

· Kerumitan transaksi interaktif - lebih daripada 30% diproses secara interaktif - 5.

· Kecekapan perisian untuk pengguna akhir - 2.

· Kemas kini langsung tidak hadir - 0.

· Kerumitan pemprosesan data - 3.

· Tiada kod dalam perisian yang dimaksudkan untuk digunakan semula - 0.

· Tidak keperluan khas pengguna, dan tiada program pemasangan khas diperlukan - 0.

· Kemudahan penggunaan - 1.

· Semasa reka bentuk, keperluan untuk memasang perisian telah diambil kira, dan perisian hanya boleh dilaksanakan pada perkakasan yang serupa (serasi) dan/atau perisian - 2.

· Menukar perisian tidak disediakan - 0.

Kami mengira faktor normalisasi (VAF) seperti berikut:

VAF=0.65+0.01*TDI=0.65+0.01*(1+5+2+3+2)=0.78

Pengiraan bilangan titik fungsi yang dinormalkan

Bilangan titik fungsi yang dinormalkan ditakrifkan sebagai:

APFC=UPFC*VAF=35*0.78=26.3

Menganggar bilangan baris kod sumber menggunakan kaedah backfire

Alat perisian akan dibangunkan dalam persekitaran MS Visual Studio 2008, jadi nilai pengganda bahasa ialah 34. Oleh itu, anggaran bilangan baris program yang lengkap dalam persekitaran MS Visual Studio 2008 akan sama dengan.