Software development... with ChatGPT

Software development... with ChatGPT

Introduction

As an engineer and technologist I've been exploring ChatGPT and allied artificial intelligence services. My goal is to be appraised and ready for inevitable disruption to the way we work. Previous articles in this series have demonstrated capabilities to:

In this article we put AI to work again on typical software development tasks. Products include a sprint plan, pseudocode for verifying customer identity and releasing goods from an autonomous delivery vehicle and translation to code suitable for embedded chips. All you are about to see was generated using just a few short prompts (see below).

Feedback and thoughts welcome in the comments.



Agile sprint plan

Sprint Objective: To build a minimum viable product (MVP) for the order placement system, allowing customers to place orders through the web or mobile app.

Sprint Goals:

  • Create a simple, user-friendly interface for customers to select items and place orders
  • Implement basic validation and error handling for the order placement process
  • Integrate with the payment system to allow customers to complete their purchases
  • Store customer and order data in a relational database

User Stories:

  • As a customer, I want to be able to browse and select items to add to my cart
  • As a customer, I want to be able to review my cart and place an order
  • As a customer, I want to be able to complete my purchase using a credit card or other payment method
  • As a customer, I want to receive an order confirmation after placing an order

Sprint Deliverables:

  • A working MVP of the order placement system
  • A complete set of unit tests for the order placement feature
  • A complete set of user acceptance tests for the order placement feature
  • Documentation for the order placement feature, including installation and usage instructions

Sprint Timeline: 2-3 weeks

This initial sprint should give the development team a solid foundation for building out the full order placement system, and provide valuable feedback from customers and stakeholders. By focusing on a MVP, the team can quickly get the product in the hands of customers and make iterative improvements based on feedback and usage data.


Pseudocode creation

This pseudocode outlines the basic steps for verifying customer identity and releasing goods from the autonomous delivery vehicle. The specifics of the implementation, such as how customer information is stored and retrieved, and how the vehicle door is opened and closed, will depend on the technology and systems used for the delivery service. The code should be flexible enough to handle different scenarios and edge cases, such as incorrect customer information, missing items in the delivery, or other issues that may arise during delivery.

No alt text provided for this image



Code conversion

This code implements the same basic logic as the original pseudocode, but is written in a format that can be compiled and run on a system with an embedded computer chip. The code uses a structure to store customer and order information, and functions to verify customer identity, release goods, and update delivery status. The implementation assumes that the vehicle's location is stored in the vehicle_location variable, and that the customer is present at the delivery address.

No alt text provided for this image



My scripted prompts

Propose a focused initial agile sprint for a software development team working on the order placement system component of an automated grocery delivery service.
Generate pseudocode for verification of customer and release of goods by an autonomous grocery delivery vehicle.
Translate this code to a format suitable for embedded computer chips.


Rob Black

Systems Thinker | Improvements Lead - BSc (Hons), CMgr FCMI, FICIPS, CSEP MINCOSE, CPRE IREB, AMBCS, APM-PMQ

2 年

To clarify, it's a provocation. Idea generation (e.g. identify candidate entities, data tables etc) and more mundane tasks (e.g. dummy data for testing) may be helped but I'd not want to trust immediate products for high-integrity applications. All necessary QA processes should factor through the development process for sure. AI is disrupting all disciplines and software will be no exception.

Mark Tickner

Systems Engineer | Systems Thinker | Requirements Engineer | CEng | CSEP

2 年

This is where ChatGPT will struggle as it relies on public domain information and specific embedded drivers are not in the public domain. The details of the machine instructions are not always in the public domain either, especially not for the latest devices. So there will be no writing software from assembly either. Yes, it probably won't struggle with standard ISO C aimed at a generic PC. But it's not likely that it will be able to write targeted at embedded applications currently. For the use case, ChatGPT needs to gain the ability to read and understand existing code and then provide interfacing code to work with those (multiple) libraries. You would still need to follow through with appropriate testing to prove that the design and code meets, say ASIL A-D for an automotive domain. I'll leave it to a software expert to pull apart the generated code, but the assumption that the scan data will simply be there and lack of interface to scanning device is one red flag, let alone the lack of try-catch when network communications to the scanning device fails...

Dr. John Malget ARCS MAPM MCMI FSaRS

Capability-based Programme Delivery, System Thinker, Digital Integration Planning, Operating Model Development and Optimisation

2 年

And this is where it should be an absolute no. Because this is exactly what you don’t do for safety or security critical software. It will develop the system thinking it’s complicated (parts) all those modules will get put together and you won’t get the expected behaviour because you won’t know about the total system vulnerabilities or sub system incompatibilities (it’s complex). There are DevOps procedures and restricted protocols for a reason. And short cuts aren’t part of it for a reason. And that’s the issue with agile only or sprints without integration or oversight of the total system requirement development. Speaking as someone who has overseen safety software development.

要查看或添加评论,请登录

Rob Black的更多文章

  • A Year in Review: INCOSE UK North West Local Group

    A Year in Review: INCOSE UK North West Local Group

    As Chair of the INCOSE UK North West Local Group, I thought it would be helpful to review key activities, outputs, and…

    2 条评论
  • Human Resourcing... with ChatGPT

    Human Resourcing... with ChatGPT

    Introduction As an engineer and technologist I've been exploring ChatGPT with the view to understanding capabilities…

  • Easy Approach to Requirements Syntax (EARS)... with ChatGPT

    Easy Approach to Requirements Syntax (EARS)... with ChatGPT

    Introduction As an engineer and technologist I've been exploring ChatGPT capabilities and sharing outputs in a series…

    17 条评论
  • Concepts, marketing and more... with ChatGPT

    Concepts, marketing and more... with ChatGPT

    Introduction As an engineer and technologist I've been exploring developments in artificial intelligence. In previous…

    7 条评论
  • Requirements engineering... with ChatGPT

    Requirements engineering... with ChatGPT

    Introduction As an engineer and technologist, I've been exploring the capabilities of developing artificial…

    28 条评论
  • Interviewing... with ChatGPT

    Interviewing... with ChatGPT

    Introduction As an engineer and technologist I've been exploring emerging artificial intelligence capabilities and…

    6 条评论
  • Applying for jobs... with ChatGPT

    Applying for jobs... with ChatGPT

    Introduction As an engineer and technologist I've been exploring developments in artificial intelligence. In previous…

    1 条评论
  • Recruiting... with ChatGPT

    Recruiting... with ChatGPT

    Introduction As an engineer and technologist, I've been exploring the capabilities of developing artificial…

    4 条评论
  • An interview with... ChatGPT

    An interview with... ChatGPT

    Introduction As an engineer and technologist, I've been exploring the capabilities of developing artificial…

    5 条评论
  • All I want for Christmas...

    All I want for Christmas...

    What do you want for Christmas? I expect it is not..

    2 条评论

社区洞察

其他会员也浏览了