Skip to content

Utilizing fundamental principles of software design using Module Interface Specifications (MISs) for Autonomous Rescue Robots, Abstract Data Types and a game of Battleship.

License

Notifications You must be signed in to change notification settings

MichaelBalas/SoftwareDesign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Design using Module Interface Specifications (MISs)

This repository contains various projects that were created using basic principles of software design, focusing on software modularization and software units (modules/classes/components) that are small, sequential and terminating. I learned how to use precise specifications to design, implement, and verify (test/review/inspect) software units in Java and Python.

The competencies listed below were used to successfuly design the projects listed under this repository (circle ADT, generalized ADTs, Autonomous Rescue Robots, and Battleship):

  • Decomposing requirements into well-structured modules using established design patterns (including assumptions, exceptions, methods, minimalism, effectiveness, etc.)
  • Documenting Module Interface Specifications for each module (Abstract objects and data types, Generics, modules with external interaction, finite state machines, UML, etc.) using discrete mathematics (first order logic, set theory, Parnas tables, etc.)
  • Creating executable code from design using Functional and Object-oriented programming with proper documentation of processes and outcomes
  • Verification and testing of the implementation (white box, black box, analysis, etc.)

Keywords

Software life cycle, quality attributes, requirements documentation, specifying behavior; classes and objects, interface specification; creational patterns, structural design patterns, behavioral design patterns; implementation in code, reviews, testing and verification.

Author

Michael Balas

License

GNU General Public License

About

Utilizing fundamental principles of software design using Module Interface Specifications (MISs) for Autonomous Rescue Robots, Abstract Data Types and a game of Battleship.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published