Skip to content

aumsathwara/SDusingAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AI-Driven Software Development Pipeline using Waterfall Model

This project leverages OpenAI's AI agents to automate the entire software development lifecycle (SDLC) using the Waterfall model. With just a single prompt, the notebook autonomously takes the user’s requirements and passes them through a series of roles—such as software developer, system tester, document engineer, and project manager—each contributing to the software development process.

Project Overview

The notebook uses a prompt-based AI system to simulate a full-scale software development process. By providing a single prompt detailing the project requirements, the system automatically creates software according to the Waterfall methodology. The AI agents are assigned different tasks based on the prompt, ensuring that the software development stages are carried out step by step, including:

  1. Requirements Analysis: The prompt is analyzed, and a detailed specification is generated.
  2. System Design: A design document is created based on the requirements.
  3. Development: The AI agent generates code based on the design.
  4. Testing: The system tester ensures that the software works as intended.
  5. Documentation: The document engineer generates user guides and technical documentation.
  6. Project Management: The AI project manager handles timelines, milestones, and project status updates.

Key Features

  • Prompt-Driven Workflow: Users provide a single input prompt, and the AI handles the entire software development pipeline from requirements to documentation.
  • Waterfall Methodology: The notebook follows a strict Waterfall model where each stage (Requirements → Design → Development → Testing → Documentation → Management) is executed in sequence.
  • Automated Role Assignments: The AI agents act as software developers, testers, document engineers, and project managers to simulate real-world software development roles.
  • Customized Software Generation: Based on the provided requirements, the AI generates a tailored solution, including code, design, test cases, documentation, and project management details.
  • End-to-End SDLC Simulation: The notebook demonstrates a complete software development lifecycle, providing a hands-on experience of project management, coding, testing, and documentation.
  • Transparency & Traceability: Every step of the process is logged for review, ensuring traceability and accountability.

Technologies Used

  • OpenAI API: Utilized for natural language understanding and generating tailored outputs for each stage of the SDLC.
  • Jupyter Notebook: Provides an interactive environment to execute each phase of the project lifecycle.
  • Python: Used to script the AI agents and process the inputs/outputs.
  • TensorFlow/Keras: For any machine learning-related tasks if applicable during development (e.g., AI model generation).
  • Matplotlib & Seaborn: For visualizing metrics or reports related to testing and project management.

How It Works

  1. Input Requirements: The user provides a high-level software project prompt (e.g., "Create a web application for task management with user authentication").

  2. Waterfall Flow:

    • The notebook first passes the requirements to the Requirements Analyst, who translates the prompt into detailed software specifications.
    • The System Designer generates the software architecture and design documents.
    • The Software Developer creates the code based on the design specifications.
    • The System Tester validates the code, ensuring it meets the required functionality and quality.
    • The Document Engineer generates both user and technical documentation.
    • The Project Manager tracks the project's progress, setting milestones, timelines, and progress updates.
  3. Output:

    • The notebook generates all the deliverables for each stage, including code, reports, design documents, testing results, and project management details.
  4. Customization: Users can modify the prompt for different types of software projects, such as web apps, mobile apps, enterprise systems, etc.

Use Cases

  • Automated Software Creation: Quickly generate software prototypes and complete projects based on minimal input.
  • Project Management Simulation: Use the notebook as a tool for simulating and practicing project management tasks in a software development project.
  • Educational Tool: Learn about the software development lifecycle and how different roles contribute to building a software system.
  • Custom Software Solutions: Generate tailored software solutions by simply specifying the requirements in the prompt.

How to Use

  1. Open the Jupyter Notebook: Clone or download the repository and open the notebook in a Jupyter environment.

  2. Provide the Prompt: Input the high-level requirements for your software project in the notebook. This could be as simple as "Create a chat application with real-time messaging."

  3. Run the Cells: Execute the notebook cells one by one. The AI agents will start generating the software for you, passing the requirements through each role in the Waterfall model.

  4. Review Outputs: After each stage, review the outputs (e.g., code, documentation, test cases) generated by the AI agents.

  5. Iterate as Needed: If you need to adjust the scope or requirements, modify the prompt and re-run the cells to generate an updated solution.

License

This project is open-source and available under the MIT License. Feel free to contribute, fork, or modify the project as needed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors