Software Engineering Flashcards
1
Q
What is Software-Engineering?
A
- Software engineering is the systematic, disciplined quantifiable study and approach to the design, development operation, and maintenance of a software system.
- Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software application.
2
Q
What are some characteristics of a well-engineered software product?
A
- Functionality- It refers to the degree of performance of the software against its intended purpose
- Reliability - A set of attributes that bears on the capability of software to maintain its level of performance under the given condition for a stated period of time.
- Efficiency - It refers to the ability of the software to use system resources in the most effective and efficient manner. The software should make effective use of storage space and executive command as per desired timing requirements.
- Usability - refers to the extent to which the software can be used with ease. the amount of effort or time required to learn how to use the software.
- Maintainability -refers to the ease with which the modifications can be made in a software system to extend its functionality, improve its performance, or correct errors.
- Portability - A set of attributes that bears on the ability of software to be transferred from one environment to another, without or minimum changes. **
3
Q
What are Functional Requirements?
A
- These are the requirements that the end user specifically demands as basic facilities that the system should offer.
- A functional requirement defines a system or its component.
4
Q
What are Non-Functional Requirements?
A
- These are basically the quality constraints that the system must satisfy according to the project contract.
- A non-functional requirement defines the quality attribute of a software system.
5
Q
What are CASE tools?
A
- Computer Aided Software Engineering tools are utilities that help to analyze, model and document business processes.
- They provide automated assistance for software development.
6
Q
What is the waterfall approach?
A
- The classical waterfall model divides the life cycle into a set of phases. This model considers that one phase can be started after the completion of the previous phase.
- The development process can be considered as a sequential flow
- Here the phases do not overlap with each other.
7
Q
What is evolutionary desgin?
A
8
Q
What is top-down design?
A
Top-down desgin is where an overview of the system is formulated without going into detail about any part of it.
9
Q
What is top-down design?
A
- Top-down design is where an overview of the system is formulated without going into detail about any part of it.
- We focus on breaking up the problem into smaller parts.
9
Q
What is bottom-up design?
A
- Bottom-up design is where individual parts of the system are specified in detail. The parts are linked to form larger components, which are in turn linked until a complete system is formed.
- We solve smaller problems and integrate it as whole and complete the solution.