System Modeling - L1

– Understand the essentials of object-oriented systems – Explain the role of models in system analysis and development – Gain an overview of different software development methods – Assess the advantages and disadvantages of each methodology

– Understand the essentials of object-oriented systems – Explain the role of models in system analysis and development – Gain an overview of different software development methods – Assess the advantages and disadvantages of each methodology


M. G.
This flashcard set covers university-level concepts in system modeling and software development, focusing on methodologies like agile, waterfall, and spiral models, as well as object-oriented analysis and design. It delves into key elements such as classes, objects, inheritance, and UML diagrams, providing insights into modeling approaches and project management. Ideal for computer science students and professionals, this flashcard set helps understand the development process, system complexity, and the role of models in visualizing and constructing software systems.
Karten
36
Lernende
1
Sprache
Englisch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
24.11.2012 / 23.03.2015

Lernkarten

System def. part

A system is a set of interrelated elements organized into an identifiable whole.

What is a system consisted of?

elements --> not monolytics

interrelated elements --> elements are related and interrilated

organization --> formal structure

identifiable whole --> distinct identity

sbsystems --> component of another system

open system --> accepts input, logic of its internal working can be understood, change = result of interraction with outside, produces output

clos system --> opposit of open system

Object definition

> something that is perceived as an entity and referred to by name;

> something perceptible by one or more senses;

> something intelligible or perceptible by the mind.

Key concepts of objects

Identity --> unique, unchanging

Attributes --> features, properties, qualities, characteristics; paired with value

Operations --> what an object does

state --> attributes and the current range of values (combination)

Class def.

A class is a set of objects that share the same attributes and operations.

Class abstraction

The process of selecting certain attributes and

operations from a concrete object that are of specific relevance is called

abstraction.

Class generalization

Generalization is concluding that characteristics of a particular entity apply to

a broader range of entities.

Instance def.

An instance is the concrete manifestation of a class. Instance is a

synonym for object.

Object encapsulation

Encapsulation is the packaging of data and processes within one

single unit.

Object: information hidding

Information hiding conceals and protects what goes on inside

an object from the outside world.

Object interface

An object’s interface consists of operations that are available to the

public.

Super-class and sub-class

A super-class results from generalizing a set of classes. A

sub-class results from specializing a superclass.

Relation = hirarchy

super-class = parent

sub-class = children

Inheritance

Inheritance is the mechanism by which a sub-class incorporates the behavior of a super-class.

Multiple inheritance

Inheritance of the behavior of more than one super-class. C# = yes; Java = no

Aggregation and composition

> The relationship of one object to its component objects is called aggregation.

> Composition is a strong form of aggregation in which the life of components relies on the life of the whole.

Concrete class

Instances can be created

Abstract class

Only inheritance can be done. NO instantiation

Polymorphism

Polymorphism is the ability of objects belonging to different classes

to perform the same operation differently.

Modeling complexity - Sources of complexity

> Numerous (different) elements in a system

> Numerous (different) relationships among the elements

Modeling and complexity - Divide-and-conquer approach

> Break down a complex problem into a number of sub-problems that can be

solved

What is a model?

– “A model is a simplified representation of reality.”

– Every model serves a specific purpose

Four aims of modelling

Four aims of (systems) modeling:

> Visualization:

» Models help to visualize a system as it is or as it should be.

> Specification:

» Models allow to specify the structure and behavior of a system.

> Construction:

» Models can be transformed into system designs.

> Documentation:

» Models document the design decisions that have been made.

Object-oriented analysis and design --> object oriented approach

> Conceptual view of the system: What the owner, or business, wants.

> Logical view of the system: How the architect conceives the solution.

> Physical view of the system: The blueprints for building the product (the builder’s view).

UML diagrams

structure diagram

- class diagramm

behaviour diagram

- activity diagram

- use case diagram

- state machine diagram

- sequence diagram

Development phase

Modeling

Testing

Installation

Support

Reproduction

Software project management def.

– A project is a collection of related tasks that must be completed in a particular

order and within a certain timeframe to achieve a specific goal.

– Software project management is planning, monitoring and controlling the course of the software development process and the resources used by that process.

Characteristics of project management

1. Goal: The goal of a project is to create a unique product, service, or result.

The goal of a project must be verifiable.

2. Scope: The scope of the project defines the boundaries of the goal.

3. Timeframe: A project’s lifetime is finite.

4. Lifecycle: The lifecycle identifies the phases of the project from its inception

to its completion.

Ad hoc approach

– The ad hoc approach is a non-methodology.

– To succeed, the ad hoc approach must rely overwhelmingly on

> the ingenuity of project members to improvise solutions for unforeseen problems

> the ability of the project members to coordinate and communicate with each other, and

> “luck”, meaning that the right people hit the right targets under the right circumstances.

– The ad hoc approach is a high-risk approach.

System development life cycles (SDLC)

– SDLC methodologies view software development as primarily a project

management process rather than a technical one.

– Each phase is a milestone and the resulting documents and artifacts are the

project deliverables.

SDLC - waterfall

The waterfall model specifies a set of sequential phases for software development

> Each step cannot begin until the previous step has been completed and documented

> Gates between stages

Limits: inflexibility, over-reliance on documentation, detachement from marketplace, detachement form the profession, detachement from technology

SDLC: prototyping

Prototyping is the creation of a working version of the essential features of the

final product for testing and verification of requirements.

Types: throwaway, incremental

Limits: unbalanced, illusion of completeness, dimishing changeability

SDLC: Iterative/Incremental Approach

– Three key concepts

> The Initialization Step: A base version is presented and stakeholder’s

responses are elicited

> The Control List: List containing necessary changes and new requirements

> The Iteration Step: A new version is built implementing selected items of the

control list

Limits: design decisions can not be undon (some of them)

SDLC: spiral

The spiral model is a risk-oriented lifecycle model that breaks a software project

up into mini-projects.

– The spiral model combines the waterfall approach and prototyping.

Limits: complexity

Agile methodologies

Agile methodologies aim at being adaptive rather than plan-driven.

- SCRUM

- extremeProgramming

Practices

> Living the values of the agile manifesto

> Stand-up meetings

> Pair programming

> Test-driven development

> Refactoring

capability maturity model (CMM)

CMM aims to measure the maturity of (software development) process within an

organization.

CMM levels

Initial (or ad hoc)

involved individuals.

> Defined

> Managed

> Optimizing

Étudier