رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
  • 0
GornerLabo

نحوه تحلیل برای شروع یک پروژه C++/Qt

سوال

سلام خدمت اساتید محترم.

اصولا وقتی پروژه ای تحت زبان C++ و  در محیط Qt تحویل بگیریم، باید به چه صورتی پروژه رو تحلیل کنیم که کلاس های مرتبط با پروژه رو در Qt پیدا کرده و شروع به سازماندهی و طراحی برنامه کنیم؟ 

مشکل اصلی من پیدا کردن کلاس مرتبط با پروژه هست. ممنون میشم از اساتید با ذکر مثالی راهنمایی فرمایید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
در 8 ساعت قبل، veria.kurdish گفته است :

سلام خدمت اساتید محترم.

اصولا وقتی پروژه ای تحت زبان C++ و  در محیط Qt تحویل بگیریم، باید به چه صورتی پروژه رو تحلیل کنیم که کلاس های مرتبط با پروژه رو در Qt پیدا کرده و شروع به سازماندهی و طراحی برنامه کنیم؟ 

مشکل اصلی من پیدا کردن کلاس مرتبط با پروژه هست. ممنون میشم از اساتید با ذکر مثالی راهنمایی فرمایید.

با سلام

دوست عزیز!

بحث مهندسی نرم افزار و تولید یک نرم افزار مستقل از پلت فرم کدنویسی هست.

بنابراین اگر پروژه ای که می خواهید شروع کنید را طبق الگوهای مهندسی نرم افزار طراحی کنید مشکلی در ایجاد کلاسها نخواهید داشت.

وقتی شما سناریو پروژه را به درستی تعریف کنید و طراحی درستی از برنامه و اهداف برنامه به وجود بیاورید مطمئن باشید که برای نوشتن کلاسها و استفاده از کلاسهای هر پلت فرم هم که کار کنید مشکلی نخواهید داشت.

بهتر برای تحلیل یک پروژه نرم افزاری ابتدا...

1- تهیه سناریو برنامه که شامل RFP ها و ...

2- تهیه وایر فریم ها

3- ایجاد نمودارهای کاربردی در زبان های مدل سازی ( CRC Class , Diagram Class ,Data Flow Diagram(DFD) ,Activity Diagram,State Diagram) البته توجه داشته باشید که فقط مدل هایی که واقعا کاربردی هستند و براساس تجربه خودم عرض کردم.

4- مدل سازی تجاری(تمامی فعالیت هایی که در اون بخشی که شما دارید برای اون بخش نرم افزار تهیه میکنید را باید شناسایی کنید)

5- مدل سازی داده (در صورتی که از پایگاه داده استفاده میکنید نرمال سازی حداقل تا 3 سطح ویا دی نرمال کردن پایگاه داده تهیه مدل های Table Structure , Relations , Primary Key, Foreign key,...)

6- مدل سازی فرآیند (پردازش ها  روال های کاری برای اضافه کردن و تغییر و حذف و بازیابی اشیای داده ...) ماژولار کردن نرم افزار (تقسیم به بخش های کوچکتر)

7- استخراج الگوهای طراحی نرم افزار (MVC , MVVP , MVP) و شناسایی کتابخانه ها ویا کلاسهای کاربردی در جهت تسهیل ایجاد نرم افزار...

8- شناسایی پلت فرم و زبان برنامه نویسی و تهیه خروجی کلاسها و توابع از روی مدل های ایجاد شده.

9- تولید کدها و تست های واحد Unit Test

10- تولید و یا اجرای اتوماتیک تست های نرم افزاری (Performance Test , Smoke Test , White Test,...)

11- ایجاد خروجی باینری پروژه نسخه بتا

...

امیدوارم مفید باشه البته خیلی کلی عرض کردم به هر حال برای تولید یک برنامه کاربردی حتما لازمه که تمام مسائل مهندسی رو به جلو در نرم افزار رعایت بشه.!

 

  • پسندیدن 3
  • تشکر شده 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

بسیارمتشکر از شما دوست گرامی بابت توضیحات مفیدتون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

  • مطالب مشابه

    • توسط miladrahbari
      سلام،
      من در پروژه‌ی خودم از یک ویجت استفاده می‌کنم که داخل آن ویجت یک کلاس mainwindow وجود دارد. در داخل این کلاس من دو تا qquickwidget تعریف کردم تا از المان های درست شده در qml استفاده کنم.
      حالا سوالی که مطرح می‌شود این است. فکر کنید من در داخل یک ویجت ۱۰ بار از این component که در qml وجود دارد استفاده کردم. حالا مثلا مقدار یک component کیو ام ال رو تغییر می‌دهم و شکل ظاهری این المان تغییر می‌کند. وقتی که شکل این المان تغییر می‌کند کل صفحه (ویجت) repaint می‌شود؟؟؟ یا فقط اون المان خاص؟؟؟
      ممنون
    • توسط MohammadTahaRabie
      سلام 
      من میخواستم از یه QPlainTextedit خط خط نوشته هارو بخونم و هر کدوم رو به یک QThread ام بدم و از QPlainTextedit پاک بشه هر خطی که خونده شده رو 
      چطور میتونم اینکارو انجام بدم؟  
      C++ کم بلدم دارم یاد میگیرم ممنون میشم کمک کنید.
    • توسط GornerLabo
      با سلام خدمت اساتید محترم. اگر بخواهیم مقدار بازگشتی از رایت چندین دستور در مورد کلاس QSerialPort به صورت دلخواه ذخیره کنیم باید به چه شکل عمل کرد؟
       
      کد زیر برای دستوری است که عمل رایت دستور را انجام میدهد:
      port->setPortName(""); // COM PORT NAME port->setBaudRate(QSerialPort::Baud9600); port->setFlowControl(QSerialPort::NoFlowControl); port->setParity(QSerialPort::NoParity); port->setDataBits(QSerialPort::Data8); port->setStopBits(QSerialPort::OneStop); port->open(QSerialPort::ReadWrite); if(port->isOpen()) { port->write(); // command 1 for write port->write(); // command 2 for write port->write(); // command 3 for write port->write(); // command 4 for write } حالا برای هر دستور رایت یک مقدار بازگشتی دریافت خواهیم کرد. پس میتوان با connect سیگنال readyRead با یک اسلات به صورت کد زیر این مقدار بازگشتی رو ذخیره کرد:
      connect(port,SIGNAL(readyRead()),this,SLOT(MySlot())); QByteArray b = port->readAll(); QFile file("e:/test/raw.bin"); if(!file.open(QIODevice::WriteOnly | QIODevice::Append))return; file.write(b); file.flush(); file.close(); حالا اگر بخواهیم مقدار بازگشتی رو از دستور رایت مشخصی دریافت کنیم ، شیوه صحیح کار چطور است؟
    • توسط کامبیز اسدزاده
      کیوت (به انگلیسی: Qt) مجموعه‌ای از کتابخانه‌ها و سرآیندهای نوشته‌شده به زبان سی++ است که به برنامه‌نویس امکان توسعه آسان نرم‌افزارهای کاربردی را می‌دهد. کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه، ابزارهای پایگاه‌داده، شبکه و … است. نرم‌افزارهای نوشته شده با ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان سی‌پلاس‌پلاس برای طیف وسیعی از سیستم‌عامل‌ها از جمله گنو/لینوکس (نسخه‌های رومیزی و وسیله‌های قابل حمل)، ویندوز، ویندوز CE، مک‌اواس و … همگردانی شوند. بدین ترتیب حمل نرم‌افزار نوشته شده بدون تغییر در متن کد نوشته شده امکان‌پذیر است. از کیوت در زبان‌های برنامه‌نویسی متعددی مانند سی++ و جاوا و پایتون می‌توان استفاده‌کرد.
       
      جهت مشاهده‌ی مباحث مرتبط با این کتابخانه به این بخش مراجعه کنید.
    • توسط کامبیز اسدزاده
      محیط‌های توسعه مختلفی برای (بسته ابزار) تولکیت Qt وجود دارد که اکثراً توسط برنامه‌نویسان علاقه‌مند به‌این تولکیت ایجاد شده‌اند. جدیدترین محیط توسعه‌این تولکیت Qt Creator نام دارد. این محیط همراه با نرم‌ افزارهای دیگری برای راحتی کار با لینوکس عرضه می‌شود از جمله Assisstant که یک مجموعه از کاربردها و طرز استفاده از کتابخانه‌های کیوت، Examples and Demos که مثال‌هایی برای آشنایی هر چه بیشتر با کیوت است، زبان‌شناسی که برنامه‌ای به منظور ترجمه‌ی نرم‌افزارهای نوشته شده به‌این زبان و یا ساخت نرم‌افزارهای چند زبانه با سادگی هر چه تمام تر است و مهم تر از همه QtDesiner که نرم‌افزاری برای طراحی رابط‌های کاربری با استفاده از ویجت (دکمه، کادر متن و...) های از پیش طراحی شده است.
      همچنین توسط افزونه‌هایی که برای این کتابخانه نوشته شده است شما می‌توانید از محیط هایی مانند Visual Studio نیز استفاده نمایید. مهم ترین ویژگی این برنامه‌این است که برنامه‌های نوشته شده با این IDE قابلیت اجرا و پشتیبانی در طیف وسیعی از سیستم‌عامل‌ها نظیر ویندوز، لینوکس، مک و حتی تلفن های همراه نظیر سیتسم عامل سیمبین را داراست و یکی از نکات مهم این نرم افزار پشتیبانی از زبان‌های برنامه‌نویسی نظیر QML, CSS & JavaScript است.
      آخرین اطلاعات و مباحث مرتبط با اخبار، به‌روز‌رسانی‌ها و سوالات مرتبط با این محیط توسعه در این بخش می‌باشد. ویژگی‌های اخیر در این محیط توسعه  
×