Lecture1 Flashcards

(29 cards)

1
Q

What is software?

A

A computer program that provides desired functionality and performance, including documentation and data.

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

What are the characteristics of software?

A

Logical, product & vehicle for developing a product, engineered not manufactured, doesn’t wear out
but deteriorates, mostly component based

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

What is system software?

A
  • A collection of programs that interact with hardware and service other programs.
  • Have interactions with the hardware.
  • Complex, heavy usage by multiple users, complex data structures, resources sharing, possibly multiple external interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is real-time software?

A
  • Programs that monitor analyze/control real world events as they occur.
  • Must meet the deadlines.
  • Generally involves data gathering from multiple resource sources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is business software?

A
  • Business oriented application like: inventory, payroll, account receivable.
  • MIS to fasciate management decision-making
  • Maybe interactive and client server computing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the software crisis?

A
  1. Software projects were frequently late, unreliable, and expensive.
  2. Hardware advancements outpaced software development, leading to inefficiencies.
  3. The demand for new and high-quality software was difficult to meet.
  4. Maintaining and updating software was more costly and complex than developing it.
  5. Customers were often dissatisfied due to poor software quality and unmet expectations.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the attributes of well-engineered software?

A

Correctness, dependability, reliability, availability, maintainability, integrity, efficiency, usability, flexibility, portability, reusability.

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

What is software engineering according to Sommerville?

A

An engineering discipline focused on cost-effective development of high-quality software systems.

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

What are the key principles of software engineering ethics?

A

Act in the public interest, ensure high standards, maintain integrity, promote ethical management, lifelong learning

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

What are some common umbrella activities in software engineering?

A

– Software project tracking and control
– formal technical reviews.
– software quality assurance
– software configuration management.
– document preparation and production.
– reusability management
– measurement
– risk management

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

With what do we start in software engineering?
- Input
- processing
- output

A

Output

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

What are the requirements for software to avoid failure?

A

High-quality software.
Low cost.
On time

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

What is one characteristic of software that is no longer relevant? And why?

A

Custom-built, nowadays we create one system and sell it to companies in the same industry

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

What is Engineering and scientific software?

A

– Number granting.
– numerical algorithm.
– merging with real-time and system software

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

What is embedded software?

A
  • reside in read–only memory and is used to control products and systems.
    – perform limited functions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is personal computer software?

A

Work processing, spreadsheets, multimedia, entertainment

17
Q

What is personal computer software?

A

Work processing, spreadsheets, multimedia, entertainment

18
Q

What is AI software?

A

– Use non-numeric algorithms.
- Expert systems, knowledge base systems.
– used in pattern recognition, automatic theorem improving, and gameplaying.
- New generation of ANN

19
Q

Give me the simple definition of well engineer software, and how to improve upon it

A

Simple definition: if the software system does what they use want.
Improve simple definition: if the software system does what the user wants, and can be made to continue to do what the user wants

20
Q

Elaborate on the definition of well engineered software characteristics

A

– Correctness: equivalence between the software and its specification.
– dependability: trustworthiness of a computer system.
– reliability: probability that the software will operate as expected i.e. no crash.
– availability: expected fraction of time during which a software component or system is functioning acceptably
– maintainability: ease with which a program can be corrected, changed
– integrity: measure a system‘s ability to withstand attacks on its security.
– efficiency: a software system is efficient if it uses computing resources economiacally
– usability: user friendliness.
– Flexibility: ability to reasonably response to any unexpected inputs or hardware failures.
– portability: can run in different environment
– reusability: the creation and reuse of software building blocks

21
Q

Are all will engineer software characteristic needed in every software

A

It’s a compromise, some of them are must, but some like usability can be opted out.
e.g. usability: a lot of systems are difficult to use

22
Q

What is the definition of software engineering according to NATO conference?

A

Software engineering: what is needed to develop large and complex software products and what is needed to control such projects

23
Q

What is the definition of software engineering according to pfleeger?

A

Application of computing tools to solving problems

24
Q

What is the definition of software engineering according to CMU/SEI?

A

Form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems

25
What is the definition of software engineering according to IEEE?
Application of a systemic, disciplined, quantifiable approach to the development, operation, and maintenance of software
26
What is the definition of software engineering according to Pressman?
Softer engineering is a discipline that integrates methods, tools, and procedures for development of computer software
27
What is the definition of software engineering according to Tsui and Karam?
Software engineering is a broad field that touches upon all aspects of devolping and supporting a software system, spanning across the following key areas: – technical and business processes. – specific methodology and techniques. – product characterization and matrics for measurements. – People skills and teamwork. – project coordination, and management
28
What is the general definition of software engineering?
As an engineering discipline, it involves application of systematic, disciplined and quantify approaches. It recognizes technical, managerial, and socio-technical issues It’s multidisciplinary, including mathematics, management theory, engineering, science, social sciences , etc.
29
What are the generic activities software engineering consists of?
– analysis. – design – construction – verification – management