The ACM Computing Classification System (CCS)
Toggle navigation
Home
Advanced search
About...
My account
Software and its engineering
Home
Software and its engineering
Term
Metadata
Software and its engineering
Alternative terms
UF
↸
software
UF
↸
software engineering
More specific terms
NT1
↓
Software creation and management
►
▼
NT2
↓
Collaboration in software development
►
▼
NT3
↓
Open source model
NT3
↓
Programming teams
NT2
↓
Designing software
►
▼
NT3
↓
Requirements analysis
NT3
↓
Software design engineering
NT3
↓
Software design tradeoffs
NT3
↓
Software implementation planning
►
▼
NT4
↓
Software design techniques
NT2
↓
Software development process management
►
▼
NT3
↓
Risk management
NT3
↓
Software development methods
►
▼
NT4
↓
Agile software development
NT4
↓
Capability Maturity Model
NT4
↓
Design patterns
NT4
↓
Rapid application development
NT4
↓
Spiral model
NT4
↓
V-model
NT4
↓
Waterfall model
NT2
↓
Software development techniques
►
▼
NT3
↓
Error handling and recovery
NT3
↓
Flowcharts
NT3
↓
Object oriented development
NT3
↓
Reusability
►
▼
NT4
↓
Software product lines
NT3
↓
Software prototyping
NT2
↓
Software post-development issues
►
▼
NT3
↓
Backup procedures
NT3
↓
Documentation
NT3
↓
Maintaining software
NT3
↓
Software evolution
NT3
↓
Software reverse engineering
NT3
↓
Software version control
NT3
↓
System administration
NT2
↓
Software verification and validation
►
▼
NT3
↓
Empirical software validation
NT3
↓
Fault tree analysis
NT3
↓
Formal software verification
NT3
↓
Operational analysis
NT3
↓
Process validation
►
▼
NT4
↓
Acceptance testing
NT4
↓
Pair programming
NT4
↓
Traceability
NT4
↓
Use cases
NT4
↓
Walkthroughs
NT3
↓
Software defect analysis
►
▼
NT4
↓
Software testing and debugging
NT3
↓
Software prototyping
NT1
↓
Software notations and tools
►
▼
NT2
↓
Compilers
►
▼
NT3
↓
Dynamic compilers
NT3
↓
Incremental compilers
NT3
↓
Interpreters
NT3
↓
Just-in-time compilers
NT3
↓
Parsers
NT3
↓
Preprocessors
NT3
↓
Retargetable compilers
NT3
↓
Runtime environments
NT3
↓
Source code generation
NT3
↓
Translator writing systems and compiler generators
NT2
↓
Context specific languages
►
▼
NT3
↓
API languages
NT3
↓
Command and control languages
NT3
↓
Domain specific languages
NT3
↓
Graphical user interface languages
NT3
↓
Interface definition languages
NT3
↓
Macro languages
NT3
↓
Markup languages
►
▼
NT4
↓
Extensible Markup Language (XML)
NT4
↓
Hypertext languages
NT3
↓
Programming by example
NT3
↓
Scripting languages
NT3
↓
Specialized application languages
NT3
↓
State based definitions
NT3
↓
Visual languages
NT3
↓
Window managers
NT2
↓
Development frameworks and environments
►
▼
NT3
↓
Application specific development environments
NT3
↓
Integrated and visual development environments
NT3
↓
Object oriented frameworks
NT3
↓
Software as a service orchestration systems
NT2
↓
Formal language definitions
►
▼
NT3
↓
Semantics
NT3
↓
Syntax
NT2
↓
General programming languages
►
▼
NT3
↓
Language features
►
▼
NT4
↓
Abstract data types
NT4
↓
Classes and objects
NT4
↓
Concurrent programming structures
NT4
↓
Constraints
NT4
↓
Control structures
NT4
↓
Coroutines
NT4
↓
Data types and structures
NT4
↓
Frameworks
NT4
↓
Inheritance
NT4
↓
Modules / packages
NT4
↓
Patterns
NT4
↓
Polymorphism
NT4
↓
Procedures, functions and subroutines
NT4
↓
Recursion
NT3
↓
Language types
►
▼
NT4
↓
Assembly languages
NT4
↓
Concurrent programming languages
NT4
↓
Constraint and logic languages
NT4
↓
Data flow languages
NT4
↓
Distributed programming languages
NT4
↓
Extensible languages
NT4
↓
Functional languages
NT4
↓
Imperative languages
NT4
↓
Multiparadigm languages
NT4
↓
Object oriented languages
NT4
↓
Parallel programming languages
NT4
↓
Very high level languages
NT2
↓
Software configuration management and version control systems
NT2
↓
Software libraries and repositories
NT2
↓
Software maintenance tools
NT2
↓
System description languages
►
▼
NT3
↓
Architecture description languages
NT3
↓
Design languages
NT3
↓
Integration frameworks
NT3
↓
Orchestration languages
NT3
↓
Specification languages
NT3
↓
System modeling languages
NT3
↓
Unified Modeling Language (UML)
NT1
↓
Software organization and properties
►
▼
NT2
↓
Contextual software domains
►
▼
NT3
↓
E-commerce infrastructure
NT3
↓
Operating systems
►
▼
NT4
↓
Communications management
►
NT4
↓
File systems management
NT4
↓
Memory management
►
NT4
↓
Process management
►
NT3
↓
Software infrastructure
►
▼
NT4
↓
Interpreters
NT4
↓
Middleware
►
NT4
↓
Virtual machines
NT3
↓
Virtual worlds software
►
▼
NT4
↓
Interactive games
NT4
↓
Virtual worlds training simulations
NT2
↓
Extra-functional properties
►
▼
NT3
↓
Interoperability
NT3
↓
Software fault tolerance
►
▼
NT4
↓
Checkpoint / restart
NT3
↓
Software performance
NT3
↓
Software reliability
NT3
↓
Software safety
NT3
↓
Software usability
NT2
↓
Software functional properties
►
▼
NT3
↓
Correctness
►
▼
NT4
↓
Access protection
NT4
↓
Completeness
NT4
↓
Consistency
NT4
↓
Functionality
NT4
↓
Real-time schedulability
NT4
↓
Synchronization
NT3
↓
Formal methods
►
▼
NT4
↓
Automated static analysis
NT4
↓
Dynamic analysis
NT4
↓
Model checking
NT4
↓
Software verification
NT2
↓
Software system structures
►
▼
NT3
↓
Abstraction, modeling and modularity
NT3
↓
Distributed systems organizing principles
►
▼
NT4
↓
Client-server architectures
NT4
↓
Cloud computing
NT4
↓
Grid computing
NT4
↓
Organizing principles for web applications
NT3
↓
Embedded software
NT3
↓
Real-time systems software
NT3
↓
Software architectures
►
▼
NT4
↓
3-tier architectures
NT4
↓
Cooperating communicating processes
NT4
↓
Data flow architectures
NT4
↓
Electronic blackboards
NT4
↓
Layered systems
NT4
↓
n-tier architectures
NT4
↓
Object oriented architectures
NT4
↓
Peer-to-peer architectures
NT4
↓
Publish-subscribe / event-based architectures
NT4
↓
Simulator / interpreter
NT4
↓
Space-based architectures
NT4
↓
Tightly coupled architectures
NT3
↓
Software system models
►
▼
NT4
↓
Entity relationship modeling
NT4
↓
Feature interaction
NT4
↓
Massively parallel systems
NT4
↓
Model-driven software engineering
NT4
↓
Petri nets
NT4
↓
State systems
NT3
↓
Ultra-large-scale systems
Related terms
RT
⇆
Software and application security
RT
⇆
Intellectual property
Date of creation
22-Jan-2018
Accepted term
22-Jan-2018
Descendant terms
192
ARK
ark:/99152/t3dm9328853204
More specific terms
3
Alternative terms
2
Related terms
2
Notes
0
Metadata
BS8723-5
DC
MADS
SKOS-Core
VDEX
XTM
Zthes
JSON
JSON-LD
Search
Central terms
Context specific languages
Compilers
Software verification and validation
Software post-development issues
Software system structures
System description languages
Extra-functional properties
Formal language definitions
Software development techniques
Designing software