SOFTWARE ENGINEERING AND THE SOFTWARE DEVELOPMENT PROBLEMATIC Flashcards

1
Q

Enumerate the system analysis methodologies you know.

A
  1. Structured Systems Analysis and Design Methodology (SSADM),
  2. Structured Analysis Design and Implementation of Information Systems (STRADIS),
  3. Yourdon System Method (YSM),
  4. Information Engineering (IE),
  5. MERISE,
  6. Soft Systems Methodology (SSM),
  7. Object-oriented Methods.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the three most important techniques of SSADM?

A

DFD’s, Locial Data Modelling and Entity Event Modelling.

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

What are the main techniques used in STRADIS?

A
  1. Functional Decomposition,
  2. Process Oriented
  3. DFD’s
  4. Decision Trees
  5. Decision Tables
  6. Structured Language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What IE thecniques do you know?

A
  1. Entity analysis: identifies all the things that the enterprise want to hold data about;
  2. Function analysis and process dependency: takes a function of the enterprise and breaks it down into elementary business processes;
  3. Process logic analysis: describes the sequences of actions carried out ny a business processes and shows which data are used by each action;
  4. Entity type lifecycle analysis: describes the significant business changes to entities and confirm that processes have been modelled to effect these changes;
  5. Matrix cross-checking: creates cross-references between data objects and processes to verify that they are necessary and complete;
  6. Normalization: provides a formal means of confirming the correctness of the entity model;
  7. Cluster analysis: hels define the scope of design areas for proposed business systems;
  8. Data flow and data analysis: makes a comparison possible between the business area models and the systems currently support this area.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What’s the primary use of SSM?

A

The analysis of complex situations where there are divergent views about the definition of the problem.

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

What were the reasons for the emergence of new methods?

A

The dynamic nature of the field demanded some adjustments and improvements, but some key reasons include:
-> Advancements in technology;
-> Changing of business needs;
-> Globalization;
-> Interdisciplinary perspectives;
-> User-centered designs;
-> Complexity of systems;
-> Agile and interative development.

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

What are the fundamental concepts in OO methods?

A

Objects, classes, and heritage.

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

What is UML, and why do we use it so much?

A

UML stands for Unified Modeling Language, and it’s importance comes from its ability to model any system at different levels of analysis.

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

What does UML have to offer?

A

UML allows graphic forms to create models offering better visualization of data, it also allows precise specification, unambiguous and complete, it allows generation of code from models in programming language, and it can be used for documentation systems.

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

Why are there so many types of UML diagrams?

A

The variety of UML diagrams serves different purposes and perspectives within the software development process. The diversity of UML diagrams is driven by the need to represent various facets of software systems comprehensively.

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

What are the Structure Diagrams?

A

Profile, Class, Composite Structure, Component, Deployment, Object and Package Diagram.

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

What are the Behaviour Diagrams?

A

Activity, Use-Case, Interaction (Sequence, Communication, Interaction Overview and Timing Diagram) and State Machine Diagram.

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

Explain briefly the Use-Case Diagram.

A

Describes the general functionalities proposed for a new system and it’s excellent to represent the functional requirements of the system

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

Explain briefly the Activity Diagram.

A

It’s a flow chart showing the control flow from one activity to another. Typically involves modelling the sequential steps of a computer process.

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

Briefly explain the State Machine Diagram.

A

It’s a representation of the state or situation in which an object can be found in the course of a system’s process

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

Briefly explain the Sequence Diagram.

A

This diagram represents the interactions between objects in a scene that are carried out through procedures or functions, emphazising the chronological order in which messages are exchanged.

17
Q

Briedly explain the Communication Diagram.

A

Emphazises the sctuctural order in which messages are exchanged between objects, similarly to the Sequence Diagram, but better at giving a big picture view of the system context.

18
Q

Briefly exaplain the Timing Diagram.

A

Represents the bahavior of objects and their interactions on a time scale, mainly focusing on the changing conditions during this period.

19
Q

Briefly explain the Interaction Diagram.

A

Emphazises the control flow from one object to another.

20
Q

Briefly explain the Object Diagram.

A

Shows the objects that correspond to the instantiated classes in the Class Diagram.

20
Q

Briefly explain the Class Diagram.

A

Represents the structure and relationships of classes that serve as the model for the objects. Objects have some relationships:
1. Association (Aggregation or Composition)
2. Generalization also known as Inheritance
3. Dependency

21
Q

Briefly explain the Component Diagram.

A

Shows components, provided and required interfaces, ports and relationships between them. Normally used to:
1. Model the data source and executable software code,
2. Highlight the function of each module and facilitate its reuse,
3. Represent how the classes should be organized through the concept of working components,
4. Assist in the reverse engineering process through the organization of system modules and their relationships.

22
Q

Briefly explain the Deployment Diagram.

A

Used to model the physical aspects of an object-oriented system, the static deployment view.

23
Q

Briefly explain the Package Diagram.

A

Describes the packages of the system divided into logical groups showing the dependencies between them. Its main purpose is to organize the models.

24
Q

Briefly explain the Composite Structure Diagram.

A

This diagram aims to describe the relationships between the elements, the internal collaboration of classes, interfaces, components or to specify a feature.