Software Engineering BFH

Software Engineering BFH

Software Engineering BFH

Joris Baiutti

Joris Baiutti

Kartei Details

Karten 146
Lernende 20
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 23.04.2017 / 10.07.2023
Weblink
https://card2brain.ch/box/20170423_software_engineering_bfh_LEvv
Einbinden
<iframe src="https://card2brain.ch/box/20170423_software_engineering_bfh_LEvv/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

IMPLEMENTATION:

OOD Results:

  • Use Cases (user interaction with the system)
  • System Context (System boundaries, interfaces, main processes)
  • System Architecture (components, functionalities, interfaces)
  • detailed system design model
    • class and relationship model of each component
      • associations, aggregation, generalization
      • interfaces and privatge methods, attributes
      • following design gudelines and design patterns
    • activity and sequence diagrams
    • state diagram

IMPLEMENTATION:

What are the inputs for a Prototype?

  • All analysis
  • design artifacts > architecture and design models

IMPLEMENTATION:

What are the 6 steps of the implementation process?=

  1. Set up the general structure
    1. translate architectureal components into packages, libraries or external projects
  2. Define public interfaces and classes
  3. Define internal interfaces and classes
  4. Implement class methods according to priority list (backlog)
  5. Integrate, test and deliver
  6. Change design models an previous implementation (refactoring) as necessary

IMPLEMENTATION:

How web techonologies work together:

Typical WAF Features (5):

  • Security (Authentication)
  • Dynamic web pages (Templates)
  • Database support (storing & retrieving app state)
  • Session management (manage sessions)
  • User interaction

IMPLEMENTATION:

What is a Build Management for (z.B Apache Maven)?

It is about generating an executable:

  • which source code in which version
  • dependencies to external components
  • build - compile and link all ressources
    • run test cases
    • distributed compilation
  • produce different variants of the software
    • debug, production
  • may be integrated with a deployment system --> CI

IMPLEMENTATION

SCRUM: Roles (4):

  • Product owner
  • Scrum master
  • Developer
  • Customers, users and managers

IMPLEMENTATION

SCRUM: Artifacts (4):

  • Product backlog
  • Sprint backlog
  • Burndown chart
  • design models, code and project-relevant artifacts

IMPLEMENTATION

SCRUM: Meetings (6):

  • Product planning
  • Sprint planning
  • Daily scrum
  • Code review
  • sprint review
  • product / release review

IMPLEMENTATION

SCRUM: Product Owner:

  • Represents Customer
  • Part of the scurm-team
  • Participates meetings
  • Maintains /decides priority of features (customer value)
  • Prepares Backlog
  • Reviews delivered product
  • Accountable for the succes and delivery

IMPLEMENTATION

SCRUM: Scrum Master

  • supports devs
  • coaches team
  • ensures that team adheres to Scrum
  • helps resolve blocking situations
  • arranges meetings
  • keeps track of the backlog
  • protects the team from external distractions
    • communication outside of the team

IMPLEMENTATION:

Open-Closed Design Principle?

  • Classes should be open for extensions
  • Classes should be closed for modifications

Welche Anforderung sollten Requirements erfüllen?

  • COMPLETE --> Beschreibung ALLER Services vorhanden?
  • CONSISTENT --> Keine Wiedersprüche

Requirements validation is the process of checking the requirements 
for validity, consistency, completeness, realism and verifiability.

COPYRIGHT

What is protected by Copyright?

  • every novel expression of an idea (=works)

COPYRIGHT

From which moment is a copyright valid and for how long?

From the instant it is created.

The Period is different. Depending on the country.

COPYRIGHT

What does Copyright mean?

  • Onyl the creator owner may display, copy and commercially exploit the works.
  • He or She only is allowed to create derivate works on it
    • but others are allowed to create works based on the original if it is fundamentally different
  • Copyright applies to the expression of an idea, not the idea itself
    • Not for the algorithm but for that specific implementation
    • Algorithm must be protected by a patent

COPYRIGHT

What means Open Source Software Development?

  • approach to sw-dev in which the copyright limitations are overcome
    • sourcecode is published
    • the sw can be freely distributed
    • the sw can be used for derivate works -- inkl commercial exploitation

COPYRIGHT

Roots of OOS?

Free Software Foundation www.fsf.org

COPYRIGHT:

On what aims OSS? What may be OSS-Dev benefits?

  • recruiting large numbers of volunteer devs
  • Devs may be also users
  • Volunteers can be paid by companies that have their business model on top of an OSS project
    • Linux, Java, Eclipse, ... etc.

OPENSOURCE:

The fundamental principle of OSS?

The source code should be freely available.

OPENSOURCE

BSD Licence --> Berkley Standard Distribution Licence

  • non reciprocal
  • Allowed in proprietary systems
  • Changes to the original must be clearly marked
  • protects the copyright of the origniator
  • voids any warranty

OPENSOURCE

Apache Licence 2.0

OPENSOURCE

GPL

  • reciprocal Licence --> copyleft
  • Also links to GPL code needs to GPL licence your code
  •  

OPENSOURCE

LGPL GNU Lesser General PUblic Licence

  • variant of GPL
  • Linking without having the source code to publish
  • LGPL part must be separated from the non LGPL part

OPENSOURCE

Licence Compatibility

Nennen Sie die 6 Design Thinking Schritte in korrekter Reihenfolge

  1. Scoping
  2. Research
  3. Synthesis
  4. Design
  5. Prototyping
  6. Validate

Quality and Verification:

Most important quality property?

Dependability -- Zuverlässigkeit

  • Wrong behaviour may cause accidents, endanger the health of its users etc.
  • Large numbers of People may be affected
  • System may be rejected by user
  • Economic costs of lacking systems --> HIGH

Quality and Verification:

What are the 5 dependability properties:

  • Availability
  • Reliability
  • Safety
  • Security
  • Resilience

Quality and Verification:

What is Availability?

The ability of the system to deliver services when requested.

Quality and Verification:

What is Reliability?

The ability of the system to deliver services as specified.

Zuverlässigkeit.

Quality and Verification:

What is Safety?

The ability of the system to operate without catastrophic failure.

Quality and Verification:

What is Security?

The ability of the system to protect itself against deliberate or accidental intrusion.

Quality and Verification:

What is resilience?

UNVERWÜSTLICHKEIT, elastizität..

The ability of the system to resist and recover from damaging events.

Quality and Verification:

Verification vs. Validation?=

  • Verification: "Are we building the product right?"
    • Conform to specification
  • Validation: "Are we building the right product?"
    • Conform to user-requirements

Quality and Verification:

Dependability Costs?

Costs increase exponentialy as increasing levels of dependability are required.

Quality and Verification:

Difference Reliability and Availability?

  • Reliability:
    • Probability of failure-free system operation
      • over a specific time
      • in a given environment
      • for a given purpose
    • z.B. number of errors for a specific operation time
       
  • Availability:
    • Probabli that the system,
      • at a point in time
      • will be operational and able to request service
    • z.B. available 0.999 (99.9%)

 

Quality and Verification:

Terminology: What means:

  • Human error or mistake?

Fault of a programmer:

Next transmission add 1 h --> 23:00 .. 00:00 ... 

Quality and Verification:

Terminology: What means:

  • System fault?

Characteristic of a sw system that can lead to a system error.

No check in the +1h code if the time is greater or equal to 23:00

Quality and Verification:

Terminology: What means:

  • System error?

State that can lead to a system failure.

Time of next transmission = 24:00 (Midnight is 00:00)

Quality and Verification:

Terminology: What means:

  • System failure?

Unexpected system behavior

No data is transmitted because of invalid time.