Posts

Academic Paper Summary

Image
  'Software engineering process and methodology blockchain-oriented software development', written by Faruk, Subramanian, Valero, and Tasnim explores the potential benefits of integrating blockchain technology into software engineering processes. The authors argue that traditional software development methods face challenges related to version control, data integrity, and trust among stakeholders. They propose leveraging blockchain's decentralized and immutable nature to address these challenges. Using blockchain's distributed ledger, developers can ensure tamper-proof version control and maintain a transparent and auditable history of software changes. The authors also highlight the potential for smart contracts to automate and enforce software development agreements, reducing the need for intermediaries. Moreover, the decentralized nature of blockchain can enhance security by making it more resilient to cyber-attacks. However, scalability, privacy concerns, and govern...

Google forms survey

A study survey was undertaken to assess general programming knowledge and perceptions people have on software development and how important it is to society. . link:  https://forms.gle/EHsUVpATsi3mkt5L6 this survey includes general questions and questions to get the opinions of the participants.

Diagram 2

Image
  (Authors work made using Draw.io) This diagram shows a few of the branches of programming, we can see that programming allows us access into a multitude of different fields that cater to different interests from fields like AI to fields like Security and Ethical Hacking.

Diagram 1

Image
  (Authors work made using Draw.io) In this diagram we can see the simplified version of the software development life cycle. this describes the various stages and processes in the process of creating software for companies in a structured manner.

Software (Evaluation-Functionality)

Image
   (iBeta, 2023) What is Software Functionality? Software functionality refers to the features, capabilities, and tasks that a software application or system can perform. It encompasses the specific functions and operations that the software is designed to carry out to meet the needs of its users or solve a particular problem. (Albrecht et al. 1983) Software functionality can include a wide range of aspects, such as: Core Features: The essential functions and capabilities of the software that address the main purpose or requirements. For example, a word processing software's core features would include creating, editing, and formatting documents. Input and Output: The software's ability to accept input from users or other systems and produce relevant output or results. This can involve data entry, file import/export, or integration with external systems. Data Manipulation: The ability to perform operations on data, such as sorting, searching, filtering, calculations, transform...

Software (Overview)

Image
(Thomas, 2020) Software refers to a collection of programs, data, and instructions that enable a computer or other digital devices to perform specific tasks or functions. It is a set of instructions that tell a computer how to carry out specific operations or solve particular problems. (Osterweil, 2008) Software can be broadly categorized into three main types: 1.System Software: System software provides the foundational components and services necessary for the operation of a computer system. It includes the operating system (e.g., Windows, macOS, Linux), device drivers, utility programs, and other software that manages and controls hardware resources. System software ensures that the computer hardware and other applications can work together effectively. 2. Application Software: Application software, also known as "apps," refers to programs designed to perform specific tasks or functions for end-users. Application software can be further categorized into general-purpose or...

Model Methodology (UML)

Image
(Copyright Free)   Unified Modeling Language (UML) is a model methodology widely used in software development to visualize, specify, construct, and document the artifacts of a system. UML provides a standardized notation and set of diagrams to represent various aspects of a software system. The UML model methodology consists of several types of diagrams, each serving a specific purpose in capturing different perspectives of the system. Some of the commonly used UML diagrams include: (Maylawati et al. 2018) 1. Use Case Diagrams - U se case diagrams illustrate the interactions between actors (users or external systems) and the system under consideration. They capture the functional requirements of the system by showing how users interact with the system to achieve specific goals. 2. Class Diagrams - Class diagrams depict the static structure of the system by representing classes, their attributes, methods, and relationships between classes. They are used to model the overall structur...