Asosiy kontentga o‘tish
AI qo‘llanmalari

SoftJL Community bilan tanishish qo‘llanmasi: AI yordamida talablar, UML, testlar va hujjatlarni bog‘lash

Ushbu maqolada SoftJL Community’ni joylashtirish, OpenAI’ga mos modelni sozlash hamda kutubxona o‘rinlarini bron qilish tizimi misolida talablarni tasdiqlash, texnik-iqtisodiy tahlil, UML modellashtirish, test qamrovi va muhandislik hujjatlarini yaratish bayon etiladi.

SoftJL Community qo‘llanmasi: AI bilan talablar, UML, testlar va hujjatlar

SoftJL Community nima

SoftJL Community dasturiy taʼminot bo‘yicha bitiruv ishlari, kurs loyihalari va UML topshiriqlari uchun mustaqil joylashtiriladigan sunʼiy intellektga asoslangan dasturiy taʼminot muhandisligi ish stansiyasidir. U talablarni tahlil qilish, texnik-iqtisodiy tahlil, UML modellashtirish, loyihalash, testlash, muhandislik hujjatlari va o‘zgarishlarni kuzatishni yagona jarayonga birlashtiradi. Bu sizga talablarning loyihalash va testlarda aks etganini tekshirish, shuningdek, o‘zgartirishlar, taqdimot va himoya uchun kuzatiladigan asoslarni tayyorlashga yordam beradi.

Community Edition to‘liq manba kodini taqdim etadi va Apache License 2.0 asosida litsenziyalangan. Rasmiy hosting versiyasi bilan taqqoslaganda, Community Edition xizmatlar, maʼlumotlar bazasi va model provayderlarini mustaqil boshqarishni talab qiladi, biroq talablar qoidalarini ajratib olish, to‘liq talab va loyiha modellarini yaratish, test qamrovi, hujjatlarni yaratish, manbalarni kuzatish, loyihalarni boshqarish hamda BYOK model ulanishi kabi asosiy imkoniyatlarni saqlab qoladi.

Rasmiy bosh sahifa — ish stoli birinchi ekrani

Asosiy ish jarayoni

Platforma talablardan tekshiruvgacha bo‘lgan muhandislik zanjiri asosida ishlaydi: avval talablar kiritilib, qoidalar tasdiqlanadi, so‘ng texnik-iqtisodiy tahlil o‘tkaziladi, talablar modeli va loyiha modeli yaratiladi, keyin test holatlari hamda qamrov matritsasi tuziladi va nihoyat tahrirlash hamda yuklab olish mumkin bo‘lgan muhandislik hujjatlari yaratiladi.

  • Talablar qoidalari: Tabiiy tildagi talablardan qoidalarni ajratib oladi, sifatni tekshiradi, qayta ko‘rib chiqish, qo‘lda tasdiqlash va qabul qilish shartlarini tartibga solishni taʼminlaydi.
  • Texnik-iqtisodiy tahlil: Tizim muhiti diagrammasi, biznes va tizim jarayoni diagrammalari hamda amalga oshirish yechimi tahlilini yaratadi.
  • UML modellari: Funksional tuzilma, foydalanish holatlari, domen tushunchalari, prototip interfeyslar, joylashtirish talablari, umumiy arxitektura, loyiha sinflari va maʼlumotlar bazasi kabi modellarni yaratadi.
  • Testlash va qamrov: Oddiy, xatolik va chegaraviy holatlar uchun test holatlarini yaratadi hamda qamrov matritsasi va kuzatuv matritsasi orqali kamchiliklarni aniqlaydi.
  • Muhandislik hujjatlari: Texnik-iqtisodiy asoslash hisoboti, talablar spetsifikatsiyasi va dasturiy taʼminot loyihasi hujjatini yaratadi, versiyalarni boshqarish va DOCX formatida yuklab olishni qo‘llab-quvvatlaydi.
  • O‘zgarishlar taʼsiri: Talablar, loyiha, testlar va hujjatlar o‘rtasidagi manba aloqalarini ko‘rsatadi hamda o‘zgartirishdan keyin qaysi mahsulotlarni yangilash kerakligini aniqlaydi.
  • Model ulanishi: OpenAI bilan mos model xizmatlarini sozlash va o‘z model provayderlaringizdan foydalanish imkonini beradi.
Yaratilgan natijalar muhandislik asoslarini aniqlash va tartibga solish uchun ishlatiladi. Biroq model cheklovlari, diagramma mazmuni, hujjatlarning biznesga muvofiqligi hali ham qo‘lda tekshirilishi va testlar amaldagi tizimda bajarilishi kerak.

O‘rnatishdan oldingi muhitni tayyorlash

Birinchi ishga tushirish uchun quyidagi muhitni tayyorlang:

  • Node.js 22
  • npm 10
  • Java 21
  • Graphviz
  • Ixtiyoriy: PostgreSQL va OnlyOffice’ni ishga tushirish uchun Docker

Render xizmatidan birinchi marta foydalanilganda tizim PDF uchun xitoycha shriftlarni yuklab olish uchun internetga ulanishi kerak bo‘lishi mumkin. Asosiy xizmatni vaqtincha sinash uchun Docker majburiy emas, biroq uzoq muddat foydalanishda doimiy PostgreSQL sozlamasidan foydalanish tavsiya etiladi; DOCX hujjatlarini onlayn tahrirlash kerak bo‘lsa, OnlyOffice’ni ham yoqish zarur.

Asosiy xizmatni tez ishga tushirish

1. Manba kodini olish va bog‘liqliklarni o‘rnatish

git clone https://github.com/guolola/SoftJL.git
cd SoftJL
npm ci

2. Ishlab chiqish muhitini ishga tushirish

npm run dev

Bu buyruq contracts va prompts umumiy paketlarini avtomatik yaratadi hamda Web, API va Render xizmatlarini parallel ishga tushiradi. Web odatda http://localhost:3000 manzilida ishlaydi, API 4101 portidan, Render Service esa 4002 portidan foydalanadi.

Web chiqishida Ready ko‘ringach, http://localhost:3000 manzilini ochishingiz mumkin. Shuningdek, holatni tekshirish tavsiya etiladi:

http://localhost:3000/api/health
http://127.0.0.1:4002/health

Ikkala holatni tekshirish interfeysi ham status: "ok" ni o‘z ichiga olgan natijani qaytarishi kerak.

3. Vaqtinchalik xotira rejimini tushunish

npm run dev buyrug‘i to‘g‘ridan-to‘g‘ri bajarilganda, sukut bo‘yicha vaqtinchalik xotira rejimi ishlatiladi. Xizmat qayta ishga tushirilgach, hisoblar, loyihalar, model xizmati sozlamalari va ishga tushirish tarixi yo‘qoladi; hujjat fayllari alohida mahalliy katalogda saqlansa ham, ular maʼlumotlar bazasi zaxira nusxasining o‘rnini bosa olmaydi. Shu sababli bu rejim tezkor sinov uchun mos, loyihalarni uzoq muddat saqlash uchun esa mos emas.

Doimiy maʼlumotlar bazasi va onlayn tahrirlashni sozlash

Ishlab chiqish PostgreSQL’dan foydalanish

Rasmiy bosh sahifa — ish stoli birinchi ekrani

Kompyuterda Docker’ni o‘rnatib, ishga tushirgandan so‘ng, maxsus ishlab chiqish maʼlumotlar bazasi va asosiy xizmatlarni quyidagi buyruq orqali ishga tushirish mumkin:

npm run dev:postgres

Bu usul maʼlumotlar bazasini Docker maʼlumotlar hajmida saqlaydi. Skriptdagi maʼlumotlar bazasi hisob maʼlumotlari faqat mahalliy ishlab chiqish uchun mo‘ljallangan; ishlab chiqarish muhitida ularni albatta almashtiring va mavjud to‘liq versiya maʼlumotlar bazasini Community Edition maʼlumotlar bazasi sifatida ishlatmang.

Mavjud PostgreSQL’ga ulanish

Agar PostgreSQL tayyor bo‘lsa, ildiz katalogidagi .env.example faylini .env nomi bilan nusxalang va DATABASE_URL hamda o‘zingiz yaratgan UML_PROVIDER_CONFIG_SECRET qiymatlarini o‘rnating:

cp .env.example .env

Sozlashni tugatgach, npm run dev buyrug‘ini qayta ishga tushiring. Shifrlash kalitini ehtiyotkorlik bilan saqlang, chunki UML_PROVIDER_CONFIG_SECRET ni o‘zboshimchalik bilan almashtirish saqlangan model provayderi hisob maʼlumotlarini shifrdan chiqarib bo‘lmasligiga olib keladi. Maʼlumotlar bazasiga ulanish maʼlumotlari va kalitlarni Git’ga yubormang.

OnlyOffice’ni yoqish

Hujjatlarni onlayn tahrirlash kerak bo‘lsa, avval Docker dvigatelini ishga tushiring, so‘ng quyidagini bajaring:

npm run dev:full

Ushbu skript mahalliy kompyuterdagi 8080 portida OnlyOffice mavjudligini tekshiradi; xizmat mavjud bo‘lmasa, tegishli konteynerni yaratadi yoki ishga tushiradi. Birinchi ishga tushirishda obrazni yuklab olishga vaqt ketishi mumkin. Faqat asosiy xizmatning o‘zi ham hujjatlarni yaratishi va yuklab olishi mumkin, onlayn tahrirlash funksiyasi uchun esa OnlyOffice’ni qo‘shimcha sozlash kerak.

AI model xizmatini sozlash

  1. Web xizmatini ishga tushiring va hisobga kiring.
  2. Hisob sozlamalariga kirib, OpenAI bilan mos Provider qo‘shing.
  3. Model provayderining HTTPS Base URL va API Key qiymatlarini kiriting.
  4. Modelni aniqlash va ulanish testini bajaring.
  5. Mavjud modellardan birini standart model sifatida tanlang.

O‘z serveringizga joylashtirilgan muhitda o‘zingizning model xizmatingizdan foydalaning; modeldan foydalanish xarajatlari tegishli provayder tomonidan hisoblanadi. Ishlab chiqarish muhitida doimiy maʼlumotlar bazasi va hisob maʼlumotlarini shifrlash kalitidan foydalanish, ishlab chiqish mehmoni hamda legacy ochiq matnli qayta ishlash kirish nuqtasini o‘chirish kerak.

Uchun kutubxona o‘rindiqlarini band qilish tizimida modellashtirish

Quyida oddiy talab misol sifatida keltiriladi: talaba tizimga kirgach, bo‘sh o‘rindiqlarni qidiradi, sana va vaqt oralig‘ini tanlab band qilish so‘rovini yuboradi; bir talaba bir vaqt oralig‘ida takroran band qila olmaydi; band qilish muvaffaqiyatli yakunlangach, bildirishnoma yuboriladi; administrator o‘rindiqlarni boshqarishi, band qilish yozuvlarini ko‘rishi va bekor qilish bilan bog‘liq istisnolarni ko‘rib chiqishi mumkin.

1-qadam: Loyiha yaratish va talablar qoidalarini tasdiqlash

Loyiha yaratilgach, yuqoridagi biznes tavsifini platformaga kiriting va tizimdan talablar qoidalarini ajratib olishni so‘rang. Foydalanuvchi rollari, band qilish shartlari, takroriy band qilish cheklovi, bildirishnoma xatti-harakati va bekor qilish bilan bog‘liq istisno jarayonini diqqat bilan tekshiring. Keyingi modellar noaniq talablarga asoslanib qolmasligi uchun hammasi to‘g‘ri bo‘lgach, qoidalar va qabul qilish shartlarini saqlang.

2-qadam: Texnik-iqtisodiy tahlilni yakunlash

Loyiha jarayoniga muvofiq uchta tahlilni bajaring:

  • Tizim muhiti diagrammasi: Talaba, administrator, bildirishnoma xizmati va band qilish tizimi o‘rtasidagi chegaralar hamda o‘zaro aloqalarni aniqlang.
  • Biznes va tizim jarayoni diagrammasi: O‘rindiqni qidirish, band qilishni yuborish, bildirishnoma yuborish va bekor qilish istisnosini qayta ishlash jarayonlarini tartibga soling.
  • Amalga oshirish yechimi: Muqobil yechimlarni taqqoslang, xarajatlar, foydalar va xatarlarni qayd eting.

Tahlil yakunlangach, modellarni yaratish bosqichiga o‘tishdan oldin tizim chegaralari va jarayonlar dastlabki talablarga mos kelishini tekshiring.

3-qadam: Talablar modeli va loyiha modelini yaratish

Platforma tasdiqlangan talablar asosida funksional tuzilma, umumiy biznes jarayoni, foydalanish holatlari, domen tushunchalari, prototip interfeyslar o‘rtasidagi aloqalar va joylashtirish talablari kabi to‘liq talablar modelini yaratishi mumkin. Talablar modeli tasdiqlangach, old shartlar asosida umumiy arxitektura, foydalanish holatini amalga oshirish, loyiha sinflari, sahifa navigatsiyasi, maʼlumotlar bazasi, komponentlar aloqasi va joylashtirish loyihasi kabi loyiha modellarini yarating.

Boshqaruv paneli statistikasi va mahsulot yaratish davomiyligi

Yaratilgach, manba aloqalarini ochib, har bir loyiha elementi talablar qoidasigacha kuzatilishini tekshiring. Shu tariqa band qilish qoidalari o‘zgarganda, taʼsirlangan foydalanish holatlari, sinflar, maʼlumotlar bazasi loyihasi va testlarni osonroq aniqlash mumkin.

4-qadam: Testlar va qamrov matritsasini yaratish

Band qilish tizimi uchun kamida quyidagi holatlarni tekshiring:

  • Talaba ko‘rsatilgan sana va vaqt oralig‘idagi bo‘sh o‘rindiqlarni qidira oladi.
  • Talaba yaroqli band qilishni yubora oladi va bildirishnoma oladi.
  • Bir talaba bir vaqt oralig‘ida takroran band qilganda, tizim so‘rovni rad eta oladi.
  • Bo‘sh o‘rindiqlar bo‘lmasa, vaqt oralig‘i noto‘g‘ri bo‘lsa yoki band qilish maʼlumotlari yetishmasa, tizim istisnolarni qayta ishlay oladi.
  • Administrator o‘rindiqlarni boshqara oladi, band qilish yozuvlarini ko‘ra oladi va bekor qilish bilan bog‘liq istisnolarni ko‘rib chiqa oladi.

Amalga oshirilgan loyiha asosi yoki test asosi bo‘lmagan talablarni qamrov matritsasi va kuzatuv matritsasi orqali aniqlang. Platforma yaratgan test holatlari hali ham amaldagi tizimda bajarilishi kerak; ularni faqat muvaffaqiyatli yaratilgani asosida qabul qilib bo‘lmaydi.

5-qadam: Muhandislik hujjatlarini yaratish

Texnik-iqtisodiy tahlil, talablar modeli va loyiha modeli yakunlangach, uch turdagi muhandislik hujjatini yaratish mumkin: texnik-iqtisodiy asoslash hisoboti, talablar spetsifikatsiyasi va dasturiy taʼminot loyihasi hujjati. Yaratilgach, asosiy matn va diagrammalar o‘zaro mosligini tekshiring, universitet shabloni va format talablariga muvofiq tahrirlang, so‘ng versiyalarni boshqaring va DOCX formatida yuklab oling.

Boshqaruv paneli statistikasi va mahsulot yaratish davomiyligi

Talablar o‘zgarganda bajariladigan ishlar

Masalan, loyiha qoidasini “bir talaba bir vaqt oralig‘ida takroran band qila olmaydi” holatidan “bir talaba bir kunda ko‘pi bilan ikkita vaqt oralig‘ini band qilishi mumkin” holatiga o‘zgartirdi. Hujjatdagi faqat bitta jumlani o‘zgartirmang, balki manba va bog‘liqlik aloqalari bo‘ylab quyidagilarni tekshiring:

  1. Yangi talablar qoidasini saqlang va tasdiqlang.
  2. Manba aloqalari va o‘zgarishlar taʼsirini ochib, taʼsirlangan talablar, foydalanish holatlari, loyiha va test mahsulotlarini ko‘ring.
  3. Talablar modeli va loyiha modelini bog‘liqlik tartibida yangilang.
  4. Maʼlumotlar bazasi cheklovlari, biznes jarayoni va istisnolarni qayta ishlashni yana tekshiring.
  5. Test holatlari va qamrov matritsasini yangilang hamda amaldagi tizimda regressiya testini bajaring.
  6. Tegishli hujjatlarni qayta yarating yoki tahrirlang va versiya yozuvlarini saqlang.

Manba aloqalari va qamrov miqdori tekshiruv doirasini aniqlashga yordam beradi, biroq yakuniy qarordan oldin aniq modellarni ochib, cheklovlar, kiritish shartlari va xatti-harakatlar to‘liqligini tekshirish kerak.

Tashqi Coding Agent’ga ulanish

Community Edition joylashtiruvchi tomonidan faqat o‘qish uchun MCP ulanishini mustaqil yoqish imkonini beradi. Bu mos Coding Agent’ga loyiha doirasida saqlangan loyiha maʼlumotlari, qabul qilish shartlari, muhandislik cheklovlari va test maʼlumotlarini o‘qish imkonini beradi. MCP’ning mahalliy tajriba kirish nuqtasi yon paneldagi “Dasturlash yordamchisi” yoki loyiha sozlamalaridagi “Ushbu loyihaga ulanish” bo‘limidir; foydalanishdan oldin o‘rnatish va yaratish jarayonlarini yakunlash kerak.

npm run dev:mcp

Ushbu ulanish faqat muhandislik asoslarini o‘qish uchun taqdim etadi; u kodni ko‘rib chiqish, amalda ishga tushirish va test orqali qabul qilishning o‘rnini bosa olmaydi. README’da haqiqiy Coding Agent mijozlari bilan moslik va yaratilgan kodni qabul qilish jarayoni hali takomillashtirilayotgani ham alohida qayd etilgan. Foydalanishda MCP ulanishi bo‘yicha ko‘rsatmalarga amal qiling.

Ko‘p ishlatiladigan ishlab chiqish buyruqlari

  • npm run build:packages: contracts va prompts umumiy paketlarini yaratadi.
  • npm run build: umumiy paketlar va barcha ilovalarni yaratadi.
  • npm run dev:render: PlantUML render xizmatini alohida ishga tushiradi.
  • npm run test:contracts: umumiy shartnomalarni tekshiradi.
  • npm run test:api: API testlarini ishga tushiradi.
  • npm run test:render: render xizmati testlarini ishga tushiradi.
  • npm run test:web: to‘liq Web testlarini ishga tushiradi.
  • npm run typecheck:web: Web turlarini tekshiradi.
  • npm run lint:web: Web statik tekshiruvini bajaradi.
  • npm audit --audit-level=high: bog‘liqliklar xavfsizligi bo‘yicha bildirishnomalarni tekshiradi.

Umumiy paketlar o‘zgargach, ilovani alohida ishga tushirish yoki testlarni bajarishdan oldin npm run build:packages buyrug‘ini bajaring. Yaratilgan fayllar, muhit sozlamalari, maxfiy kalitlar, jurnallar va mahalliy ishga tushirish maʼlumotlari Git tomonidan eʼtiborsiz qoldiriladigan doirada saqlanishi kerak.

Arxitektura haqida umumiy maʼlumot

Loyiha bir nechta ilovalar va umumiy paketlardan iborat tuzilmadan foydalanadi:

  • apps/web: React, Next.js ish maydoni va sahifalari.
  • apps/api: Fastify API, autentifikatsiya, generatsiya jarayoni, ishga tushirish yozuvlari va hujjatlarni yig‘ish.
  • apps/render-service: PlantUML diagrammalarini render qilish.
  • packages/contracts va packages/prompts: umumiy kontraktlar va generatsiya promptlari.
  • packages/harness-e2e va packages/harness-eval: qabul qilish va sifatni baholash.

Joylashtirish va foydalanish bo‘yicha eslatmalar

  • Community versiyasi uchun alohida ma’lumotlar bazasidan foydalaning; uni rasmiy saytning to‘liq versiyasi ma’lumotlar bazasi uchun pasaytirilgan muqobil sifatida ishlatmang.
  • Ishlab chiqishni boshlash skriptidagi ma’lumotlar bazasi hisob ma’lumotlari faqat mahalliy foydalanish uchun mos; ishlab chiqarish muhitida ularni albatta almashtiring.
  • Model kalitlari, ma’lumotlar bazasiga ulanish ma’lumotlari va shifrlash kalitlari kod omboriga kiritilmasligi kerak.
  • Loyiha hujjati loyiha hisoboti materiali sifatida ishlatilishi mumkin, ammo to‘liq bitiruv malakaviy ishining o‘rnini bosmaydi.
  • Diagrammalar, hujjatlar va kodning biznes talablariga muvofiqligi qo‘lda tekshirilishi hamda ishga tushirish dalillari orqali tasdiqlanishi kerak.
  • Ishlab chiqarish muhitiga joylashtirishdan oldin xizmat domeni, ma’lumotlar bazasi, elektron pochta va model konfiguratsiyalarini almashtiring.

Xulosa

SoftJL Community bitiruv yoki kurs loyihasini muhandislik jarayoni asosida tashkil qilmoqchi bo‘lgan dasturchilar uchun mos keladi. Muhitni o‘rnatish, ma’lumotlar bazasi va model konfiguratsiyasini yakunlaganingizdan so‘ng, talablar qoidalaridan kelib chiqib, texnik-iqtisodiy tahlil, UML talablari va dizayn modellari, test qamrovi hamda loyiha hujjatlarini bosqichma-bosqich yaratishingiz, talablar o‘zgarganda esa ta’sir doirasini kuzatishingiz mumkin.

U materiallarning tarqoqligi va takroriy tartibga solish ishlarini kamaytiradi, biroq insonning dizayn bo‘yicha qarorlari, kod yozish, haqiqiy testlar va yakuniy himoyaga tayyorgarlikning o‘rnini bosa olmaydi. Platforma yaratgan materiallardan kuzatiladigan loyiha qoralamasi va tekshiruv asosi sifatida foydalanib, yakuniy topshiriqni ta’lim muassasasi talablari hamda amaldagi tizim ishga tushirilishi natijalari bilan birgalikda tayyorlash tavsiya etiladi.