Software Engineering Flashcards
Program
An autonomous piece of code, that could be executed
Software
It encompasses programs that execute within a computer of any size and architexture, documents that encompass hard-copy and virtual forms and data that combine numbers and text but also includes representations of pictorial, video and audio information
Engineering
Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings
Common problems :
Why does it take so long?
Why are development costs so high?
Why can’t find all faults before delivery?
Why can’t we measure the development?
Basic Life Cycle
Requirement
Specification
Design
Implementation
Integration
Maintenance
Retirement
Requirements Engineering
the process of establishing the services, the system should provide and the constraints under which it must operate is called Requirements capture and analysis
Specification
A software requirements specification (SRS) is a description of a software system to be developed.
-Contract between procurer and developer
-Structured/Formal document
-Clear and intelligible to the client
-Complete and detailed to the developer
Design
Software design is the process of envisioning and defining software solutions to one or more sets of problems
Important
+To backtrack the aims of decisions
+To easily maintain
Base Modules of a Software
Input—>Process—>Output
Implementation
Coding
Integration
Combining modules
Testing
Unit tests : verification
System tests : validation
Quality tests
Maintenance
Correction
Perfection
Adaptation
Retirement
No maintenance
Definition : Design Pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander
It has been adapted for various other disciplines, notably software engineering