Specializations in Software Engineering

MAJOR

DEFINITIONS/ DESCRIPTION

SPECIALIZATIONS

Software architecture and design

A software architecture or software systems architecture is a representation of a software system, as well as the process and discipline for effectively implementing the design(s) for such a system
 
Software Architecture Design Space
Implicit Asynchronous Communication Software Architecture
Hierarchy Architecture
Data Centered Software Architecture
Data Flow Architecture
Component- Based Software Architecture
 

Operating systems

An operating system is a computer program that manages all the other programs that are installed on the machine Process management
Memory management
Disk and file management
Networking
Security
Graphical user interfaces
Device drivers
 

Software testing and quality assurance

It consists of a means of monitoring the software engineering processes and methods used to ensure quality. Automated Software Quality (ASQ)
Application Binary Interface (ABI)
CMM: ( Capability Maturity Model)
Conformance Testing
Compatibility testing
Load testing.
Performance testing.
Regression testing.
 

Computer science

Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. Theory of computation
Algorithms and data structures
Databases
Concurrent, parallel and distributed systems
Scientific computing
Programming languages and compilers
Human computer interaction