Skip to content

Implementation of a Mock Linux Shell Using Java, Agile Software Development, and Test-Driven Development

Notifications You must be signed in to change notification settings

tapasrastogi2411/Mock-Linux-Shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mock-Linux-Shell

About the Project

Implementation of a Mock Shell program which covers all the main linux commands using the Agile SCRUM Software Development Process in Java and the principles of Object-Oriented Programming. This was done using all the paradigms of Agile Software Development and various software design choices ensuring all stages were followed for timely completion mock user and client requirements.

Designed a set of CRC Cards, user stories, product backlog, followed daily sprint schedule as per industry maintained Agile SCRUM methodology, which was coupled with unit testing at each stage of the project!

This also followed Test-Driven Development, where the testing of all the commands and Java classes were done using JUnit testing.

Error checking was also an integral part of implementing this mock shell, where it was ensured that all possible errors that could be made were accounted for while implementing the commands.

Version Control Software originally used throughout this project - Subversion(SVN)

Tools Used

  • Java
  • Intellij IDE
  • SVN
  • JUnit Testing Version 4
  • User stories, Product Backlogs
  • Use of various software design principles and design choices at each stage of the project

How to Use

  • Go to src folder and then the driver folder and open the JShell.java file. Run this file to get an instance of our Mock Linux Shell in your terminal!

Commands that can be run on this Mock Shell

  • Change Directory command (cd)

  • Concatenate command (cat)

  • Copy command(cp)

  • Curl command(curl)

  • Echo command(echo)

  • Exit command(exit)

  • List command(ls)

  • LoadJShell FileName - When the user types in this command, your JShell must load the contents of the FileName and reinitialize everything that was saved previously into the FileName. This allows the user to start a new JShell session, type in load FileName and resume activity from where they left off previously.

  • SaveJShell FileName - The above command will interact with your real file system on your computer. When the above command is typed, you must ensure that the entire state of the program is written to the file FileName.

  • Make Directory command(mkdir)

  • Move command(mv)

  • Pop Directory Commadn(pop)

  • Print Working Directory command(pwd)

  • Print Documentation Command(man)

  • Redirection

  • Tree

  • Search

Team members

This project couldnt have been completed without the help and contirbution of the following amazing people :)

  • Anaqi Amir
  • Balraj Kharol
  • Shashwat Doshi

About

Implementation of a Mock Linux Shell Using Java, Agile Software Development, and Test-Driven Development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages