بطبط

رجع لباقي المحاضرات
محاضرة 1

Introduction to Software Engineering

مقدمة عن هندسة البرمجيات ودورة حياة تطوير البرمجيات (SDLC).

يلا نشوف الملخص

Lecture 1: Introduction to Software Engineering

Overview: This lecture introduces the fundamentals of Software Engineering and the Software Development Life Cycle (SDLC).

  • Why Software Engineering?
    • Software development is inherently challenging.
    • It is crucial to distinguish between "easy" systems (experimental, single-user) and "hard" systems (commercial products, multiple developers/users).
  • Goals of Software Development:
    • Satisfy user requirements (many large-scale ordered systems are delivered but not used).
    • High reliability (bugs are expensive; they can cost money, damage reputation, or even cost human lives, e.g., the Ariane 5 launch bug costing $500 million).
    • Low maintenance costs (maintenance accounts for roughly 65% of overall project costs).
    • Delivery on time, low production costs, high performance, and ease of reuse.
  • Types of Maintenance:
    • Corrective: Fixing bugs (21%).
    • Adaptive: Altering software to fit changing software (25%).
    • Perfective: Meeting new requirements (50%).
    • Preventative: Reducing further maintenance (4%).
  • The Software Process & SDLC:
    • SDLC is a structured process to design, develop, and test software.
    • Stages of SDLC:
      1. Planning and Requirement Analysis: Creating a roadmap.
      2. Defining Requirements: Documenting needs using a Software Requirement Specification (SRS).
      3. Designing Architecture: Using the SRS to create the Design Document Specification (DDS).
      4. Developing Product: Writing the code using languages like C/C++, Python, or Java.
      5. Product Testing and Integration: Finding and fixing mistakes; writing manuals.
      6. Deployment and Maintenance: Releasing the software and monitoring its performance.
  • Software Development Models:
    • Waterfall Model: A linear-sequential life cycle model.
      • Advantages: Simple, clear milestones, well-defined phases, and works well for stable requirements.
      • Disadvantages: Inflexible to changes, limited client involvement, and long delivery time.
    • Agile SDLC Models: Iterative development focusing on sprints and daily scrums.

في نقطة مش واضحة؟ بطبط موجود!

اسأل بطبط عنها
بطبط
</>تم التصميم والتنفيذ بقسم تكنولوجيا المعلومات
تحت إدارة وإشراف

جامعة برج العرب التكنولوجية

جميع الحقوق محفوظة © BATBAT 2026