Software Engineering 1 Flashcards

1
Q

Software engineering

A

an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Software

A

considered to be collection of executable programming code, associated libraries and documentations. Software, when made for a specific requirement is called software product

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

program

A

is an executable code, which serves some computational purpose.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Engineering

A

on the other hand, is all about developing products, using well-defined, scientific principles and methods.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Software Evolution

A

The process of developing a software product using software engineering principles and methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Software Evolution Cycle

A
  1. change request
  2. impact analysis
  3. release planning
  4. system update
  5. system release
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Evolution Cycle

A
  1. gathering process
  2. create prototype
  3. show to users
  4. get feedback
  5. update and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Software Evolution Laws Lehman

A
  1. Static-type (S-type)
  2. Practical-type (P-type)
  3. Embedded-type (E-type)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Static-type (S-type)

A
  • which works strictly according to defined specifications and solutions. The solution and the method to achieve it, both are immediately understood before coding. The s-type software is least subjected to changes hence this is the simplest of all.
  • For example, calculator program for mathematical computation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Practical-type (P-type)

A
  • This is a software with a collection of procedures. This is defined by exactly what procedures can do. In this software, the specifications can be described but the solution is not obviously instant.
  • For example, gaming software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Embedded-type (E-type)

A
  • This software works closely as there quirement of real-world environment.
  • This software has a high degree of evolution as there are various changes in laws, taxes etc. in the real world situations.
  • For example, Online trading software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

E-Type software evolution

A
  1. Continuing change
  2. Increasing complexity
  3. Conservation of familiarity
  4. Continuing growth
  5. Reducing quality
  6. feedback system
  7. Self-regulation
  8. Organizational stability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Continuing change

A

An E-type software system must continue to adapt to the real world changes, else it becomes progressively less useful.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Increasing complexity

A

As an E-type software system evolves, its complexity tends to increase unless work is done to maintain or reduce it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Conservation of familiarity

A

The familiarity with the software or the knowledge about how it was developed, why was it developed in that particular manner etc., must be retained at any cost, to implement the changes in the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Continuing growth

A

order for an E-type system intended to resolve some business problem, its size of implementing the changes grows according to the lifestyle changes of the business.

17
Q

Reducing quality

A

An E-type software system declines in quality unless rigorously maintained and adapted to a changing operational environment.

18
Q

Feedback systems

A

The E-type software systems constitute multi-loop, multi-level feedback systems and must be treated as such to be successfully modified or improved.

19
Q

Self-regulation

A

E-type system evolution processes are self-regulating with the distribution of product and process measures close to normal

20
Q

Organizational stability

A

The average effective global activity rate in an evolving E-type system is invariant over the lifetime of the product.

21
Q

Software paradigms

A

refer to the methods and steps, which are taken while designing the software. There are many methods proposed and are implemented. But, we need to see where in the software engineering concept, these paradigms stand.

22
Q

Software Development Paradigm

A
  • This paradigm is known as software engineering paradigms
  • where all the engineering concepts pertaining to the development of software are applied. It includes various researches and requirement gathering which helps the software product to build
23
Q

Software Development Paradigm consists of

A
  1. requirement gathering
  2. software design
  3. programming
24
Q

This paradigm is a part of Software Development and includes

A
  1. Design
  2. Maintenance
  3. Programming
25
Q

This paradigm is related closely to programming aspect of software development. This includes –

A
  1. Coding
  2. Testing
  3. Integration
26
Q

Need of Software Engineering

A
  1. Large software
  2. Scalability
  3. Cost
  4. Dynamic Nature
  5. Quality Management
27
Q

Large software

A
  • It is easier to build a wall than a house or building, likewise, as the size of the software becomes large, engineering has to step to give it a scientific process.
28
Q

Scalability

A

If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one.

29
Q

Cost

A

As hardware industry has shown its skills and huge manufacturing has lower down the price of computer and electronic hardware. But, cost of the software remains high if proper process is not adapted.

30
Q

Dynamic Nature

A

Always growing and adapting nature of the software hugely depends upon the environment in which the user works. If the nature of software is always changing, new enhancements need to be done in the existing one. This is where the software engineering plays a good role.

31
Q

Quality Management

A

Better process of software development provides better and quality software product.

32
Q

Characteristics of good software

A
  1. Operational
  2. Transitional
  3. Maintenance
33
Q

Operational

A

This tells us how well the software works in operations

34
Q

Operational, It can be measured on:

A
  1.  Budget
  2. Usability
  3. Efficiency
  4. Correctness
  5. Functionality
  6. Dependability
  7. Security
  8. Safety
35
Q

Transitional platform to another:

A
  1. Portability
  2. Interoperability
  3. Reusability
  4. Adaptability
36
Q

Maintenance

A

This aspect briefs about how well the software has the capabilities to maintain it self in the ever-changing environment:

37
Q

Maintenance has the capabilities to maintain it self in the ever-changing environment:

A
  1. Modularity
  2. Maintainability
  3. Flexibility
  4. Scalability
38
Q

is a branch of computer science, which uses well-defined engineering concepts required to produce efficient, durable, scalable, in-budget, and on-time software products.

A

Software engineering