Software Architecture & Requirement Engineering Essentials

Core Software Development Concepts

Understanding Software Architecture

Question: What is software architecture, and what purpose does it serve in development?

Answer: Software architecture involves defining the overall structure of the software, including components, their relationships, and interactions. It serves as a blueprint guiding developers to create cohesive and scalable solutions.

Design Concepts in Software Development

Question: What are design concepts in software development?

Answer: Design

Read More

Core Software Engineering Concepts and Methodologies

Software Engineering: A Layered Technology

Software Engineering is called a layered technology because it is built on a foundation with multiple layers, each supporting the one above it. The layers are:

  1. Quality Focus (Foundation Layer):

    • Ensures the process and product quality.
    • Every layer depends on the focus on quality.
  2. Process Layer:

    • Acts as the framework for software development.
    • Provides control and coordination for projects.
  3. Methods Layer:

    • Provides technical “how-tos” for building software.
    • Includes
Read More

Core Software Engineering Concepts: Processes and Models

Software Engineering Process and Framework

Defining a Software Process

A process in software engineering is a set of organized activities for developing software, including planning, designing, coding, testing, and maintenance.

Generic Process Framework Phases

The generic process framework provides a high-level structure that can be adapted to various software development models, such as Agile, Waterfall, and V-Model. The framework is generally composed of these key phases:

  • Communication

    This phase focuses

Read More

UI/UX Design & Web Development: Key Principles

User-Centered Design Principles

  • User-centered design focuses on how users actually interact, not how designers assume they will.
  • The user is not you – Real user needs must be understood through research.

Motor Laws (Human Capabilities in UI)

  • Fitts’ Law – The time to reach a target depends on its distance (↑ = slow) & size (↑ = fast).
  • Formula: T = D / W
  • UI Tip: Make frequently used buttons larger & closer.
  • Steering Law – Navigating through constrained paths slows down interaction.
  • UI
Read More

Personal Projects Showcase: Web Development & More

Personal Projects

1. INDIEREADS

  • AJAX for auto-loading on scroll
  • Connect Storage Engine for reading JSON on MariaDB
  • Balsamiq for wireframe layouts
  • Canva for logo creation

2. Wave Function Collapse

  • WFC algorithm to make images based on seed
  • HTML5 Canvas

3. Automatic Cat Feeder

  • React
  • ESP32 Microcontroller with C
  • Arduino

4. Jamming the Bozone

  • Google Calendar API for embedded calendar
  • Bootstrap to make site responsive
  • Email submission with PHP

5. FITNESS BROS

  • Trello for task management
  • Bootstrap for mobile-first design

6.

Read More

Scrum Project Management: Essential Elements and Best Practices

Sprint Artifacts

Product Backlog

  • Prioritized feature list
  • Short descriptions of all desired product functionality
  • Adaptable and evolves with product knowledge gained during sprints

Sprint Backlog

  • Managed by the team during the sprint
  • List of tasks to be completed during the sprint, identified by the Scrum team
  • Team selects product backlog items, often as user stories

Increment

  • Total of completed Product Backlog items from the current and all previous sprints
  • Must be functional and demonstrate product evolution

Artifact

Read More