Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
19 views9 pages

SENG204 Bilingual Summary

The document outlines the curriculum for Software Engineering (SENG 204), covering key topics such as software development processes, Agile methodologies, SCRUM framework, requirements engineering, system modeling, and architectural design. It emphasizes the importance of software engineering in modern society and the complexity of software development. Each week focuses on different aspects of software engineering, providing definitions, models, and practices relevant to the field.

Uploaded by

maher sawsak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views9 pages

SENG204 Bilingual Summary

The document outlines the curriculum for Software Engineering (SENG 204), covering key topics such as software development processes, Agile methodologies, SCRUM framework, requirements engineering, system modeling, and architectural design. It emphasizes the importance of software engineering in modern society and the complexity of software development. Each week focuses on different aspects of software engineering, providing definitions, models, and practices relevant to the field.

Uploaded by

maher sawsak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

(SENG 204) -

Software Engineering (SENG 204) -


Bilingual Summary

:1

Week 1: Introduction to Software Engineering


Software Engineering Definition: The application of engineering principles to software
development. : .

Industrial Revolutions: Software engineering is at the center of today's industrial


revolution (Industry 4.0 and 5.0). :
(5.0 4.0 ) .

Importance of Software: Modern society depends on large professional software


systems. : .

Software Development Difficulty: Software processes are complex and involve human
decisions and judgments. :
.

Software Development Process Models: There is no universal process model for


software development that is right in every situation. :
.

Software Process Model Selection: The right process depends on customer and legal
regulations, the environment, and the type of software. :
.
:2

Week 2: Software Processes


Software Process Definition: A set of related activities that leads to the production of a
software system. :
.

Fundamental Software Engineering Activities: :

• Software specification: The functionality of the software and constraints on its


operation must be defined.

• : .

• Software development: The software to meet the specification must be produced.

• : .

• Software validation: The software must be validated to ensure that it does what the
customer wants.

• :
.

• Software evolution: The software must evolve to meet changing customer needs.

• : .

Software Process Models: :

• Waterfall Model: Sequential phases (requirements, design, implementation,


testing, maintenance).

• :( ) .

• Incremental Development: Interleaved activities with rapid feedback.

• : .

• Integration and Configuration: Using reusable components.

• : .
Waterfall Model Characteristics: :

• Plan-driven process.

• .

• Cascade from one phase to another.

• .

• Each phase produces documents.

• .

• Appropriate for embedded systems, critical systems, and large systems.

• .

Incremental Development Advantages: :

• Reduced cost of implementing changes.

• .

• Easier to get customer feedback.

• .

• More rapid delivery of useful software.

• .

Process Selection: Different approaches may be needed for different parts of a system.
: .

:3

Week 3: Agile Software Development


Agile Development Definition: Development methods designed to produce useful
software quickly. : .

Agile Methods Characteristics: :

• Small increments (2-3 weeks).

•( 3-2) .
• Customer involvement for rapid feedback.

• .

• Minimal documentation.

• .

• Informal communication.

• .

Agile Manifesto Principles: Individuals and interactions over processes and tools, etc.
: .

Extreme Programming (XP) practices: (XP):

• Incremental development with small, frequent releases.

• .

• Customer involvement.

• .

• Pair programming.

• .

• Test-first development.

• .

• Refactoring.

• .

• Simple design.

• .

Agile Development Practices: :

• User Stories: Scenarios of use experienced by system users.

• : .

• Refactoring: Continuous code improvement.


• : .

• Test-First Development: Tests written before code.

• : .

• Pair Programming: Two programmers working together.

• : .

Agile Project Management: Scrum framework for organizing agile projects.


: .

:4

Week 4: SCRUM & Requirements Engineering


SCRUM Definition: A software and application development framework. :
.

SCRUM Roles: :

• Product Owner: Represents end-user, controls development, defines features.

• : .

• SCRUM Team: Self-organized, multidisciplinary, 5-9 people.

• : 9-5 .

• SCRUM Master: Guides team, resolves obstacles, ensures compliance.

• : .

SCRUM Process: :

• Product Backlog Management.

• .

• Sprint Planning and Goal Setting.

• .

• Daily Scrum Meetings.

• .
• Sprint Review and Retrospective.

• .

Requirements Engineering Definition: Process of finding, analyzing, documenting, and


checking system services and constraints. :
.

Types of Requirements: :

• User Requirements: High-level abstract requirements.

• : .

• System Requirements: Detailed descriptions of functions and constraints.

• : .

• Functional Requirements: Services the system should provide.

• : .

• Non-functional Requirements: Constraints on services or functions.

• : .

Requirements Engineering Activities: :

• Requirements elicitation.

• .

• Requirements analysis.

• .

• Requirements validation.

• .

• Requirements management.

• .
:5

Week 5: System Modeling


System Modeling Definition: Process of developing abstract models of a system.
: .

Model Uses: :

• Explain requirements to stakeholders.

• .

• Document the system for implementation.

• .

• Generate system implementation (model-driven engineering).

•( ) .

UML (Unified Modeling Language): Standard notation for object-oriented modeling.


(UML): .

Basic System Modeling Perspectives: :

• Context Models: System boundaries and environment.

• : .

• Interaction Models: User interaction, system-to-system, component interaction.

• : .

• Structural Models: Organization of system components.

• : .

• Behavioral Models: Dynamic behavior during execution.

• : .

Interaction Modeling Approaches: :

• Use Case Modeling: Interactions between system and external agents.

• : .
• Sequence Diagrams: Interactions between system components.

• : .

Structural Modeling Elements: :

• Class Diagrams: Classes and associations.

• : .

• Generalization: Managing complexity through inheritance.

• : .

• Aggregation: Composition relationships.

• : .

:6

Week 6: Architectural Design


Architectural Design Definition: Understanding how a software system should be
organized. : .

Architectural Abstraction Levels: :

• Architecture in the small (individual programs).

•( ) .

• Architecture in the large (complex enterprise systems).

•( ) .

Advantages of Explicit Architecture: :

• Stakeholder communication.

• .

• System analysis.

• .

• Large-scale reuse.
• .

Architectural Design Decisions: Affect non-functional characteristics of the system.


: .

Architectural Patterns: :

• Model-View-Controller (MVC): Separates data, user interface, and control logic.

• - - (MVC): .

• Layered Architecture: Organizes system into layers of services.

• : .

• Repository Architecture: Shared data in central database.

• : .

• Client-Server Architecture: Distributed system model.

• - : .

• Pipe and Filter Architecture: Functional transformations process inputs to


outputs.

• : .

Application Architectures: :

• Transaction Processing Systems: Process user requests for database operations.

• : .

• Information Systems Architecture: Layered architecture for information systems.

• : .

• Web-based Information Systems: Browser-based user interfaces.

• : .

You might also like