Functional Decomposition Diagrams & Software Verification

Functional Decomposition Diagrams (DDF)

Techniques to represent the decomposition of the functions of a system.

Its purpose is to represent the hierarchy of system processes at different levels of abstraction. It decomposes a high-level function into low-level functions.

They are used to represent other information such as company structure.

Types of DDF

  • Functions of the system at different levels of abstraction but without considering the flows between them.
  • The functions and input and output data
  • Functions
Read More

Understanding Use Cases in Software Engineering

In software engineering, a use case is a technique for capturing potential requirements of a new system or a software update. Each use case provides one or more scenarios that show how the system should interact with the user or another system to achieve a specific goal.

Types of Use Cases

Brief Use Case

A few paragraphs of prose that usually only include the main stage for success.

Casual Use Case

Several paragraphs that contain several scenarios, but by no means all in detail.

  • Name
  • Main Stage, written
Read More

Software Quality Assurance: Concepts and Techniques

Understanding Errors in Software Development

An error is a fault in a program that causes unexpected behavior or failure. Errors stem from incorrect logic, invalid input, hardware failures, or software bugs.

Types of Errors

  1. Syntax Errors – Violate language rules, preventing execution.

    Example:

    print("Hello, World"  # Missing parenthesis
    

    Fix: Follow correct syntax.

  2. Logical Errors – Code runs but gives incorrect output.

    Example:

    def add(a, b):
        return a - b  # Wrong logic
    

    Fix: Debug logic carefully.

Read More

Software Engineering Essentials: Principles and Practices

Introduction to Software Engineering

Software engineering is a discipline through which we develop or create software for computer systems and other electronic devices. It is a process where user needs are analyzed, and software is designed based on these needs. Software engineering defines scientific principles, methods, and procedures. Software engineers build software and applications using design and programming languages.

To create complex software, we should use engineering techniques. To reduce

Read More

Project Management: Deliverables, Milestones & Scheduling

Project Deliverables

Definition: Products that, in a certain state, are exchanged between customers and developers throughout the IT project implementation.

Feasibility Study Deliverables

Brief description of the proposed system and its features.

Analysis Deliverables

  • Requirements capture
  • System Specification

Design Deliverables

A detailed description of the system will contain:

  • Programs, reusable modules, and objects.
  • Files and databases.

Coding Deliverables

Documents the final design of the system and each

Read More

Consensus Building: Achieving Win-Win Outcomes in Requirements Engineering

Consensus Building (Win-Win)

Aims at bringing a number of stakeholders to consensus, a typical problem during requirements engineering.

Incremental, Risk-Driven Spiral Process

  • Identification of stakeholders
  • Identification of win conditions
  • Conflict resolution

Asynchronous Groupware Tool

  • Stakeholders post win conditions
  • Facilitator detects conflict
  • Stakeholders discuss alternatives
  • Stakeholders make agreements
  1. Review and expand negotiation topics

    Objective: Refine and customize the outline of negotiation topics.

Read More