Software Engineering 1 Final

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/131

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.

132 Terms

1
New cards

Software Engineering

application of a systematic disciplined quantifiable approach to the development, operation, and maintenance of software

2
New cards

Analysis

Investigation of the requirements

3
New cards

Design

Conceptual solution that fulfills the requirements, rather than its implementation

4
New cards

Object Oriented Analysis

Emphasis on concepts (real world things that pertain to what is required of the software)

5
New cards

Object Oriented Design

emphasis on software objects and how they collaborate to meet requirements

6
New cards

Scrum

(Agile Process) 2-4 week sprints

7
New cards

Agile Process

Breaking projects into little user styories and delivering them in 2 to 4 week sprints

8
New cards

User Story

As a (role) I want (feature) so that I can (accomplish)

9
New cards

Product backlog

Requirements (items in backlog)

10
New cards

Agile Process Stages

Continuous Analysis, Design, Code, Test

11
New cards

Software Design Principle (SDP)

Our plan to build software for customer’s specification

12
New cards

Waterfal

sequential design process

13
New cards

Gantt Diagrams

Boxed waterfall into iterations

14
New cards

Unified Process Stages

Inception, Elaboration, Construction, Transition

15
New cards

Inception Stage of UP

identifying scope and architecture and getting budget (1-2 weeks)

16
New cards

Elaboration Stage of UP

prove we have the right architecture (4-6 weeks)

17
New cards

Construction Stage of UP

build software incrementally requirements as a priority queue (time who knows?)

18
New cards

Transition Stage of UP

Validate system and move to production

19
New cards

Use Case

Textual Story between actors focuses on how system will fulfill a goal (captures requirements)

20
New cards

Requyirement

necessary attribute or constraint of system

21
New cards

SRS

Software Requirements Specification

22
New cards

Virtual Method

any method not private final or static is virtual =meaning it can be overriden by subclasses

23
New cards

Hash Code & Equals

Is a logical comparison rather than a memory location comparison

24
New cards

concept

abstract idea of entity in domain (real world) used during analysis to capture domain knowledge.

25
New cards

class

software construct that defines attributes methods and relationships

26
New cards

Concepts are extracted with

Noun analysis and categorical lists

27
New cards

List (ordered)

has duplicates accessible by index (ArrayList, Linked List)

28
New cards

Set (Unordered)

Collection of unique elements (Hashset, Linked Hashset, Treeset)

29
New cards

Collections are used to

store, retrieve, manipulate, and communicate aggregate data

30
New cards

Op Contract Parts

Name, Cross References, Preconditions, Postconditions

31
New cards

Synchronous Arrow

Caller waits for Callee

32
New cards

Types of Interaction Diagrams

Communication Diagram, Sequence Diagram

33
New cards

Asynchronous Arrow

Sender does not wait

34
New cards

Domain Model

conceptual “analysis” model that reflects real world entities their attributes and relationships

35
New cards

Design Class Model

Concrete implementation-oriented model that shows classes their methods data structures and design patterns etc.

36
New cards

Java primitive types

byte, short, int, long, float, double, char, boolean

37
New cards

Finally block

runs no matter what

38
New cards

Compiler steps

program → asm → result

39
New cards

Interpreter Steps

Program → result

40
New cards

Java compilation steps

java program → compiler →bytecode then to either

  1. Java interpreter for Linux

  2. For windows

  3. For linux

.java -(compilation)→ .class -(interpretation)→ machine code

41
New cards

JRE

Java Runtime Environment

42
New cards

Java Garbage collection

Keeps track of what’s alive, reclaims what isn’t
no explicit deletion and no memory given back to OS.

43
New cards

Wrappers

Short, Integer Double, …

44
New cards

Class based types

String, Date, Calendar

45
New cards

parameters

list of variables in method DECLARATION

46
New cards

arguments

actual values passed into method

47
New cards

Primitives are passed by

value

48
New cards

Objects are passed by

value

49
New cards

GRASP

General Responsibility Assignment Software Patterns

50
New cards

Object Design

  1. Identify classes and objects

  2. what methods belong where

    1. how these objects interact

51
New cards

Responsibilties:

Doing: doing something itself, initiating action in other objects controlling or coordinating activities in other objects

Knowing: Knowing about private encapsulated data ab out related objects about things it can derive/ calculate

52
New cards

Responsibilities are assigned to classes during

object design

53
New cards

Methods and responsibilities

are not the same, methods implemented to fulfill responsibilities.

54
New cards

Patterns

Principles to guide choices when assigning responsibilities.

A pattern is a named description of a problem with a solution applicable to new contexts.

55
New cards

Controller

who should be responsible for handing an input system event.

Assigns the responsibility

56
New cards

Facade Controller

has few system operations

57
New cards

Use case handler

when there are many system operations among distinct processes or facade controllers would be bloated

58
New cards

Role controller

person like objects instead of delegates

59
New cards

Benefits of controllers

increase potential for reuse
keep external event sources and internal event handlers independent of each other’s type and behavior

60
New cards

Creator

Who should be rsbl for creating a new instc of some class?



61
New cards

Assn class B the rsbl to create an instc of class A if one or more of the following

  1. B agg A objs

  2. B contains A objs

  3. B records ints of A objs

  4. B has init data to pass to A when created

62
New cards

Information Expert

What is the general principle of assn rsbls to objs?
Assn a rsbl to the info expert the class that has the info to fulfill the rsbl
Implies many partia experts who will collaborate in the task

63
New cards

Coupling

measure of how strongly one element is connected to has knowledge of, or relies on other elements

64
New cards

High coupling

highly dependent on many others

harder to understand in isolation

harder to reuse with presence of other classes

65
New cards

Cohesion

measure of how strongly related and focused the rsbls of an element are

66
New cards

Low cohesion

Unrelated/Unfocused
hard to understand
hard to reuse
hard to maintain
delicate to change

67
New cards

What kind of coupling and cohesion is desirable?

low coupling & high cohesion

68
New cards

4 kinds of objects (coupling & cohesion)

coupling & cohesion:

low & low: Destructive Decoupling

high & low: Poorly selected boundaries

high & high: God object
low & high: Ideal

69
New cards

Polymorphism

A property of Object Oriented software by which an abstract operation may be performed in different classes (different ways)

Exist when several classes which each implement the operation either have a common superclass or implement an interface that contains the operation

70
New cards

Polymorphism gets its power from

dynamic binding

71
New cards

Dynamic binding

The process of binding a call to a particular method, this is performed dynamically at run-time due to the presence of polymorphism.

Is needed when compiler determines that there are multiple possible methods that could be executed by a call.

72
New cards

Types of java Event handling

  1. Event sources (buttons, mouse event)

  2. event listener: interfaces to handle events

  3. event object: data obj passed to listeners ActionEvent e

73
New cards

Method overloading

The process of redefining a method with the same name with different parameters

74
New cards

3 methods to override when creating a class

  1. toString

  2. hashCode

  3. equals

75
New cards

shortest phase in UP

Inception

76
New cards

SSD

System Sequence Diagram just between actor and black box system

77
New cards

SD

Sequence Diagram, involves what happens on the system side

78
New cards

Can you instantiate an abstract class?

No

79
New cards

Can you implement as many interfaces as you want?

Yes

80
New cards

How to make a button in Java

JButton button = new JButton(“Click”);

81
New cards

What is the top level container in Java Swing called?

JFrame

82
New cards

Coupling

degree of interdependence among modules

83
New cards

Pure Fabrication

When both A and B should have some responsiblity for x, create a fabrication class C for x

84
New cards

SOLID

S - Single Responsibility Principle
O - Open Closed Principle

L - Liskov Substitution Principle
I - Interface Segregation Rule
D - Dependency Inversion Principle

85
New cards

DRY

DONT REPEAT YOURSELF

86
New cards

KISS

Keep it Simple Stupid!

87
New cards

Single Responsibility Principle:

A class should only have a single responsiblity only oen reason to change

88
New cards

Open-Closed Principle

software should be open for extension but closed for modification

89
New cards

Liskov Substitution Principle

Objects should be replaceable wwith subtypes while still being correct

90
New cards

Interface Segregation Rule

Many client specific interfaces are better than one general purpose interface.

91
New cards

Dependency Inversion Principle

One should depend on abstractions not concretions

92
New cards

Indirection

Don’t access directly

93
New cards

Law of Demeter

Don’t talk to strangers (avoid knowing structure of others)

94
New cards

Fault Detection (methods)

Testing, Debugging, Monitoring, Verify/Validate, Unit Testing

95
New cards

Verify vs Validate

96
New cards

Types of Testing

Grey, White Box, Black box testing

97
New cards

Unchecked Exceptions

Log errors caused by programmers runtime error

98
New cards

Checked exception

must be caught or declared (try catch block throws)

99
New cards

Logging levels

Finest, Fine, Config, Info, Warning, Severe

Logger.setLevel(level.warning)

100
New cards

Thread interference

Multiple threads acting on the same data, causes interleaving, sequence of steps overlap