Software Engineering Short Notes
Software Engineering Short Notes
Software Engineering is an engineering discipline which is concerned with all aspects of software
production from early stages of system specification through to maintaining the system after it has gone
into use.
1. Bohem’s Classification
Current usefulness
The qualities expected from a software system in a user’s point of view
Efficiency Correctness
Reliability User friendliness
Usability Robustness
Potential usefulness
The qualities expected from a software system in a developer’s point of view
Maintainability
Modularity
Reusability
Portability
2. Mc Call’s Classification
Product Operation Product Revision Product Transition
Efficiency Maintainability Reusability
Reliability Flexibility Portability
Usability Testability Interoperability
Correctness
User friendliness
Robustness
Prototype
A prototyping is the smaller version of the system
Prototyping Techniques
1. Throw away prototyping
2. Evolutionary prototyping
Agile Process
Agile software engineering combines a philosophy and a set of development guidelines
Requirement Engineering Process
1. Feasibility Study
2. Requirement analysis and elicitation
3. Requirement Specification
4. Requirement Validation
Types of Requirements
Functional Requirements
Non Functional Requirements
Domain Requirements
Feasibility Study
A feasibility study is a short and focused study which is aimed to check the feasibility of the project
considering resources, cost/benefit, technology availability etc.
Requirement Specification
A detailed and precise description of system requirements is set to act as a basis for a contract between
customer and software developer.
Requirements Validation
Requirement validation is concerned with showing that the requirements actually define the system the
customer wants.