Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Group related issues: solutions about incremental development in MetaGPT #1498

Open
iorisa opened this issue Oct 11, 2024 · 2 comments
Open
Milestone

Comments

@iorisa
Copy link
Collaborator

iorisa commented Oct 11, 2024

Issues

Bug solved method
The previous incremental software development method based on SOP has several issues:

  • Inconvenient human-computer interaction. New user requirements, technical demands, bug fixes, and added design constraints are difficult to directly correspond to the relevant SOP steps for operation.
  • Inflexible programming languages. The same design cannot be easily switched to different programming languages, mixed-language programming is not supported, and design solutions cannot be reused.

To address this, we propose a more practical solution.
It is an upgraded version of DI (Data Interpreter) called RoleZero, which will be released soon. It adopts the following methods to handle software development issues with real-time human-computer interaction:

  1. Generate sequence diagrams from requirements. This compresses the content size of requirement descriptions and supports flexible changes in requirements and switching between programming languages.
  2. Generate code from sequence diagrams rather than directly from user requirements. This approach supports design outputs reuse, can flexibly generate code in different languages, allows for additional technical requirements during code generation (such as which packages must be used, how interfaces should be utilized, etc.), and supports mixed programming languages.
  3. Bug modifications can be implemented through human-computer interaction, directly targeting specific files.
  4. Regarding the coding of the UI, you can use RoleZero to convert UI pictures into code, and then merge them into the backend code generated based on the sequence diagrams through human-computer interaction.

Design Outputs Demo
Here is an example of a sequence diagram generated by RoleZero based on real software development requirements giving a user requirement PDF file and an external system interface usage PDF file, to help everyone understand RoleZero's capabilities in interpreting requirements.
image
image

Subsequent issues related to new requirements or bug fixes will be consolidated under this issue for further follow-up.

@hgftrdw45ud67is8o89
Copy link
Contributor

although PDF is a awesome file/document format, I personally think a json or etc would be better.

Because I am scared that the pdf parser could be too complex to use/maintain (especially compatibility).

PDF is originally by adobe,so i think we must make sure the save format is https://www.iso.org/standard/75839.html

But,it's at least better than docx or .yaml.

I think we are heading to the right direction.But, this seems to only showcase the legal SOP situation with systeminterfaceusage..pdf ?

@geekan geekan added this to the 1.0 milestone Oct 20, 2024
@iorisa
Copy link
Collaborator Author

iorisa commented Oct 23, 2024

We choose to use PDF because in reality, most software requirements are archived and transferred using docx or PDF documents, so this is an adjustment based on the real-world situation.

PDF is just a file format, it does not define the content.

However, in reality, the description of software requirements often has various issues, and it needs further improvement. Compared to requirement documents, interface specifications are easier to use directly. So sometimes we do not directly use the requirement document because the requirement description in it still has problems that need to be further resolved.

although PDF is a awesome file/document format, I personally think a json or etc would be better.

Because I am scared that the pdf parser could be too complex to use/maintain (especially compatibility).

PDF is originally by adobe,so i think we must make sure the save format is https://www.iso.org/standard/75839.html

But,it's at least better than docx or .yaml.

I think we are heading to the right direction.But, this seems to only showcase the legal SOP situation with systeminterfaceusage..pdf ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants