week 1 Flashcards

Agile , OOP , UML

1
Q

describe a methodology.

A

a collection of mtpt models , techniques , principles & tools used
by developers to bulid a compuetr software

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

give examples of a models

A

waterfall , incremental , spiral

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

examples of software development techniques

A

object oriented
prototype
cleanroom

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

agile

A

it proponents believe.

-bcz current software development processess are heavyweight. many thingfs done in the process are not related or relevant to the product being produced.

  • current software development is too rigid. difficult with incomplete or changing requirements.
  • more active customer invlovement needed. bcz waterfall focuses on process instead of the end users.

-

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

Agile methodologies.

A
  • stages arent cumbersome like traditinal methods.
  • people oriented rather than process oriented.
  • has several agile methods like extreme programming , Scrum & crystal family
  • no single defintion . is a set of principles, not a rigid process. Teams adapt these principles to their specific context, leading to various interpretations and implementations.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

state and expalin agile manfiesto

A

-individuals and interactions . over processes and tools
- working software over comprehensive documentation
- customer collaboration over contract negotiation
- respnding to change over falling a plan

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

charateristics of lightweight methodologies

A

People-Oriented – values all people responsible for system customers, developers, stakeholders and end users

Conformance to outcomes - agile methodologies value conformance to the actual results as opposed to conformance to the detailed plan. (concern is on the final product rather than on a detailed plan)

Balancing Flexibility & Planning – plans made now do not affect future decisions that much.

Decentralized Approach- Decision making is not only made by management, but developers can make decision eg technical decision

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

advantages of agile / lightweight

A

Flexible approach
Accommodate changes
Faster delivery
Customer satisfaction

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

Disadvantages of Lightweight methodologies

A

-Experts not always on hand
-Progress cannot always be tracked

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

Extreme Programming (XP) characteristics

A

-Short iteration cycles (2-3 weeks)
-Communication and Feedback
-Concentrates on Productivity
-Pair Programming Approach
-Complete customer involvement
-Frequent Integration

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

Scrum characteristics

A

-Very short iteration cycles(30 days)

-Sprint meetings held for each iteration

-Demonstration of updates

-Close monitoring through scrum meetings

-More importance to working software

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

OO programming

A

organizin software as a collection of objects with a certain state and behaviour.

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

OOD

A

based on the identification and organization of objects.

concerned with developing object-oriented models of a software/system to implement the requirements identified during OOA. Models the solution

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

What is A model?

A

an abstraction of something . purpose is to understand the product b4 developing it.

abstraction make it possible to deal with complexity.

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

eg of modelling users.

A

Architects. map showing roads
tailors
sw engineers
mechanics
protocols

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

OO advantages

A

-as people think in terms of objects it allows them to map objects to real life entities. making it easier to develop and undrstand what they are doing.

17
Q

OOP Advantages.

A

-Save development time (and cost) by reusing code. once an object is created it can be used in other applications.

-easier debugging. classes can be tested independently. reused objects have been tested.

18
Q

object?

A

complex data type thay
has
-state (attributes)
-behavior(methods)

19
Q

Abstraction

A

focuses on the important facts about the object at hand to design , produce , and describe so that it can be easily used without knowing the details of how it works. in java abstract classes are used.

e.g driving a car yet you dont know the gasoline and airare mixed and ignited.

20
Q

Encapsulation

A

focuses on hiding data , internal structure and implementation details of an object.

the object exposes what is need to interact with it through an interface

21
Q

interface?

A

a named set of operations that chacterize the behavior of an object.

22
Q

Inheritance

A

form of on code reuse in which new function is obtained by extending the implementation of an existing object. consist of superclass and sub class.

the subclass/ specialization extends the implemantation with additional attributes and methods.

23
Q

adv of inheritance

A

-new implementation is easy . since most of it is inherited.

-easy to modify or extend the implementation being uesd.

24
Q

dis of inheritance

A

breaks encapuslation bcz it exposes a subclss implementation details of its superclass.

sub classes may have to be changed if the implementation of the superclass changes.

implementation inherited from superclassses cant be changed at run time.

25
polymorphism
Ability to dynamically choose a method of an operation at run time or service time depending on the object responding to service . its made possible by encapsulation and generalization. generalization - means of organizing class features such that shared features reside in one class and unique features reside in another encapuslation. organizing information about an object such that interface/operations are separated from its implementation/method
26
Modeling?
simplifies represenation of reality. invlves creating a blueprint for a system.
27
mention modeling principles
the model created influences how the problem is tackled and how solution is shaped. best models are connected to reality. no single model is sufficient.
28
UML
unified modeling language. it used to visualize , specify , construct & documenting artifacts of software systems. e.g modelling a web bed system.
29
3 basic building blocks of uml ?
elements. main components of a model relationships. they tie elements together diagrams. mechanisms to group intersting collections of elements and relationships.
30
5 element examples
structural behavioural grouping annotational
31
4 relationships
dependency association genralization realization
32
diagrams
class d use case object d behavioural d implementation
33
structural elements ?
the nouns of uml. usually the static parts of the system
34