CSE 3310 SWE Exam 1

studied byStudied by 57 people
5.0(1)
Get a hint
Hint

What is software?

1 / 36

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

37 Terms

1

What is software?

Computer programs + Configuration data and files + User and system documentation

New cards
2

What is software engineering?

An engineering discipline which is concerned with all aspect of software production.

New cards
3

Computer science is concerned with ___ while software engineering is concerned with __.

CS = theory and fundamentals
SWE = practical asepcts of developing and delivering software

New cards
4

SWE challenges:
1.
2.
3.

  1. Coping with legacy systems

  2. Coping with increasing diversity

    1. Coping with faster and cheaper

New cards
5

SWE is what % engineering, science, and art?

50% engineering, 30% science, 20% art

New cards
6

What is a software process?

A set of activities and associated results which produce a software product.

New cards
7

4 Fundamental process activities:

1.
2.
3.
4.

  1. Software specification

  2. Software development

  3. Software validation

    1. Software evolution

New cards
8

What is a software process model?

A representation of software process from a specific perspective

New cards
9

Examples of software process models:

Workflow model: sequence of activities in the process along with their inputs, outputs and dependencies

Data-flow or activity model: set of activities that carry out some data transformation

Role/Action model: represents roles of people involved in the software process and activities for which they are responsible.

New cards
10

Software Development Models:

Definition: abstract representation of a software (i.e. roadmap)

The waterfall approach: complete one phase before going to the next

Evolutionary development: build quick, modify, and redo until completion

Formal transformation: transform specifications, using mathematical methods, to a program; guarantee correctness

Incremental method: Design and deliver parts as they become available

New cards
11

Attributes of good software are

Maintainability

Dependability

Efficiency

Usability

New cards
12

Ethical responsibilities are

Confidentiality

Competence

Intellectual property rights

Computer misuse

New cards
13

Waterfall Model “Life Cycle”

conducted in 5 phase: requirements, design, code, testing, maintenance

Pros: simple to follow, track progress, and has a good structural design

Cons: in practice, phases often overlap, hard to modify, need complete requirements before starting

New cards
14

Evolutionary Development Model

Develop, expose, refine

2 types:

  1. Exploratory: start with well defined requirements and add new features when customers propose new ones

  2. Throw-away prototyping: use prototyping to focus on poorly understood requirements, redefine as you progress

Pros: Happier customers, flexibility in modifying, very visual (no ambiguities)

Cons: Hard to trace progress, , poorly structured, special tools may be required, not cost effective

New cards
15

Formal Systems Development

Based on mathematical because math is 100% right

Requirements are refined into detailed specs which are expressed in mathematical notion.

Requires specialized expertise and is not often used

HEAVILY USED IN DFW FOR SOME REASON THOUGH

New cards
16

Reuse-oriented development

Relies on large base of reusable software components!

Pros: reduced cost and risk

Cons: requires large component base, some loss over control of the system evolution, and potential issues in backward/forward compatibility

New cards
17

Incremental Development

hybrid model where software spec, design, implementation and testing is broken down into a series of increments which are developed and delivered.

Pros: Delivered incrementally (faster), lower risk of project failure, requirements are implemented based on priority

Cons: Relationship b/w increments may be cumbersome or non-cohesive, size of each increment and # of increments may cause challenges

New cards
18

Spiral development

Hybrid model where development of the system spirals outward from initial outline to final developed systlem

Each loop represents a phase of the software process

Each loop is split into 4 sectors:

  1. Object setting: set specific object for that phase

  2. Risk assessment and reduction

  3. Development and validation: select a development model based on risk levels

  4. Planning: decide if a next loop is required

Pro: explicit consideration of risks, more detailed processes

Cons: Cost, difficult to implement, time consuming

New cards
19

Software validation activities:

Unit testing

module testing

sub-system testing

system testing

acceptance testing

New cards
20

what is CASE?

Computer-aided software engineering

Name given to software that is used to suppot software process activities such as requirements engineering, design, program development and testing

It’s tools include:

design editors, compilers, data dictionaries, debuggers, etc. (any toosls you buy outside to help you out)

New cards
21

Why is software management distinct from other engineering managements?

  1. Software product is intangbile

  2. no standard process

  3. large software projects are usually different from previous projects

New cards
22

Risk Management Stages

  1. Risk Identification (project, product, business)

  2. Risk analysis (likelihood and consequences)

  3. risk planning (avoiding, minimizing risks)

  4. risk monitoring (constant assessment)

New cards
23

What is “Software Requirements”?
What are 2 the types?

-process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed

1) Functional requirements - describe system services/functions

2) Non-Functional requirements - constraint on the system or on development process (I.e. speed of everything)

New cards
24

What is a requirement?

ranges from high-level abstract statement of a service to a detailed mathematical functional specification

-basis for a bid for a contract (open to interpretation

-basis for contract itself (defined in detail)

New cards
25

Types of requirements

1) User requirements: written for customers

2) System requirements: written as contract b/w client and contractor

3) Software specification: written for developers

New cards
26

Functional Requirements

  • services the system should provide

  • Can state what the system shouldnt do too

  • Should be complete and consistent (avoid ambiguity)

New cards
27

Non-Functional requirements

  • requirments not directly concerned with functions delivered by system

  • relates to the system as a whole rather than individual functions

  • could be deciding factor on survival of a system (reliabilty, cost, reponse time)

New cards
28

Domain Requirements

  • derived from application domain of system rather than specific needs of the users

  • may be new functional requirements, constrain existing, or set out how computations must take place

  • ex: tolerance level of landing gear on an aircraft, or what happens to fiber optics line in case of sever weather during winter Olympics

New cards
29

Problems with natural language:

  1. lack of clarity

  2. requirements confusion

  3. requirements amalgamation (several requirements may be expressed together)

  4. ambiguity

  5. over-flexibility

New cards
30

Alternatives to natural language specification

  • structured natural language

  • program description language

  • use-cases

  • mathematical specification

New cards
31

structured language specifications

  • limited form of natural language may b eused to express requirements

  • removes some problems like ambiguity and flexibility, and imposes uniformity on specification

  • best supported using form-based approach

New cards
32

PDL-Based requirements

  • defined operationally using a program. lang. but with more flexibility of expression

  • used when

    1. operation is specified as sequence of actions and order is important

    2. hardware and software interfaces have to be specified

  • CONS: may not be sufficiently expressive, only understandable to people with PL knowledge, may be taken as a design specification rather than a model

New cards
33

The requirements document

  • official statement of what is required of system developers

  • includes both a definition and specification of requirements

  • NOT a design document. should set WHAT the system should do, rather than HOW

New cards
34

Requirements engineering processes

  • processes used to discover, analyze, validate system requirements

  • 4 generic activities of RE:

    • Requirements elicitation, analysis, validation, management

New cards
35

Ethnography

  • observational technique used to understand social and organizational requirements (*SOCIAL ISSUES*)

  • developed in project studying air traffic control process

  • CONS: studies existing practices which may have historical basis which may be no longer relevant

New cards
36

Enduring and Volatile Requirements

Enduring: stable requirements from core activity of the customer organization (I.e. hospital will always have doctors, nurses)

Volatile: requirements which change during development or when the system is in use (I.e. health care policy in a hospital)

New cards
37

Classification of requirements

  • Mutable Requirements

  • Emergent Requirements

  • Consequential Requirements

  • Compatibility Requirements

New cards

Explore top notes

note Note
studied byStudied by 9 people
... ago
5.0(1)
note Note
studied byStudied by 10 people
... ago
5.0(1)
note Note
studied byStudied by 9 people
... ago
5.0(1)
note Note
studied byStudied by 4 people
... ago
5.0(1)
note Note
studied byStudied by 2 people
... ago
4.0(1)
note Note
studied byStudied by 64 people
... ago
5.0(1)
note Note
studied byStudied by 35 people
... ago
5.0(1)
note Note
studied byStudied by 32 people
... ago
4.0(192)

Explore top flashcards

flashcards Flashcard (64)
studied byStudied by 98 people
... ago
5.0(2)
flashcards Flashcard (23)
studied byStudied by 48 people
... ago
5.0(1)
flashcards Flashcard (21)
studied byStudied by 2 people
... ago
5.0(1)
flashcards Flashcard (42)
studied byStudied by 9 people
... ago
5.0(1)
flashcards Flashcard (55)
studied byStudied by 5 people
... ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 20 people
... ago
5.0(1)
flashcards Flashcard (25)
studied byStudied by 14 people
... ago
5.0(1)
flashcards Flashcard (55)
studied byStudied by 171 people
... ago
5.0(3)
robot