CHAPTER 1 - Software and Software Engineering

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/46

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

47 Terms

1
New cards

Software

Instructions (computer programs) that when executed provide desired features, function, and performance

2
New cards

Software

Data structures that enable the programs to adequately manipulate information

3
New cards

Software

Documentation that describes the operation and use of the programs.

4
New cards

Software

Is developed or engineered, it is not manufactured in the classical sense.

5
New cards

Software

doesn't "wear out."

6
New cards

Custom-built

Although the industry is moving toward component-based construction, most software continues to be custom-built.

7
New cards

Open World Computing

new category of software. pervasive, distributed computing

8
New cards

Ubiquitous Computing

new category of software. wireless networks

9
New cards

Netsourcing

new category of software. the Web as a computing engine

10
New cards

Open Source

new category of software. "free" source code open to the computing community (a blessing, but also a potential curse!)

11
New cards

Adapted

Software must be _______ to meet the needs of new computing environments or technology.

12
New cards

Enhanced

Software must be ________ to implement new business requirements.

13
New cards

Extended to make it interoperable

Software must be ________ __ ____ __ _____________ with other more modern systems or databases.

14
New cards

re-architected

Software must be __-___________ to make it viable within a network environment.

15
New cards

Network Intensiveness

characteristic of webapps. A WebApp resides on a network and must serve the needs of a diverse community of clients.

16
New cards

Concurrency

characteristic of webapps. A large number of users may access the WebApp at one time.

17
New cards

Unpredictable Load

characteristic of webapps. The number of users of the WebApp may vary by orders of magnitude from day to day.

18
New cards

Performance

characteristic of webapps. If a WebApp user must wait too long (for access, for server-side processing, for client-side formatting and display), he or she may decide to go elsewhere.

19
New cards

Availability

characteristic of webapps. Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a "24/7/365" basis.

20
New cards

Data Driven

characteristic of webapps. The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end-user.

21
New cards

Content Sensitive

characteristic of webapps. The quality and aesthetic nature of content remains an important determinant of the quality of a WebApp.

22
New cards

Continuous Evolution

characteristic of webapps. Unlike conventional application software that evolves over a series of planned, chronologically-spaced releases, Web applications evolve continuously.

23
New cards

Immediacy

characteristic of webapps. Although immediacy—the compelling need to get software to market quickly—is a characteristic of many application domains, WebApps often exhibit a time to market that can be a matter of a few days or weeks.

24
New cards

Security

characteristic of webapps. Because WebApps are available via network access, it is difficult, if not impossible, to limit the population of end users who may access the application.

25
New cards

Aesthetics

characteristic of webapps. An undeniable part of the appeal of a WebApp is its look and feel.

26
New cards

Software Engineering

the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.

27
New cards

Software Engineering

(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software: that is, the application of engineering to software.

○ The study of approaches as in (1).

28
New cards

Quality focus, process model, methods, tools

4 layers of a layered technology in software engineering (bottom up)

29
New cards

Work tasks, work products, milestones and deliverables, qa checkpoints

4 framework activities under the process framework

30
New cards

Communication, planning, modelling, construction, deployment

5 parts of framework activities

31
New cards

Umbrella Activities

these bulletpoints refer to what?

• Software Project Management

• Formal Technical Reviews

• Software Quality Assurance

• Software Configuration Management

• Work Product Preparation and Production

• Reusability Management

• Measurement

• Risk Management

32
New cards

Understand the problem, plan a solution, carry out the plan, examine the result for accuracy

4 steps of the essence of practice according to George Polya

33
New cards

George Polya

father of modern problem solving

34
New cards

Stakeholders

Who has a stake in the solution to the problem? That is, who are the ____________?

35
New cards

Data, functions, features

What are the unknowns? What ____, _________, and ________ are required to properly solve the problem?

36
New cards

Smaller

Can the problem be compartmentalized? − Is it possible to represent _______ problems that may be easier to understand?

37
New cards

Analysis model

Can the problem be represented graphically? − Can an ________ _____ be created?

38
New cards

Patterns

Have you seen similar problems before? − Are there ________ that are recognizable in a potential solution? Is there existing software that implements the data, functions, and features that are required?

39
New cards

Reusable

Has a similar problem been solved? − If so, are elements of the solution ________?

40
New cards

solutions

Can subproblems be defined? − If so, are _________ readily apparent for the subproblems?

41
New cards

design model

Can you represent a solution in a manner that leads to effective implementation? − Can a ______ _____ be created?

42
New cards

traceable

Does the solution conform to the plan? − Is source code _________ to the design model?

43
New cards

correctness proofs

Is each component part of the solution provably correct? − Has the design and code been reviewed, or better, have ___________ ______ been applied to algorithm?

44
New cards

testing strategy

Is it possible to test each component part of the solution? − Has a reasonable _______ ________ been implemented?

45
New cards

validated

Does the solution produce results that conform to the data, functions, and features that are required? − Has the software been _________ against all stakeholder requirements?

46
New cards

The Reason It All Exists, KISS, Maintain the Vision, What You Produce Others Will Consume, Be Open to the Future, Plan Ahead for Reuse Think!

7 hooker's general principles

47
New cards

business

Every software project is precipitated by some ________ need— − The need to correct a defect in an existing application− The need to the need to adapt a 'legacy system' to a changing business environment− The need to extend the functions and features of an existing application, or − The need to create a new product, service, or system.