4
I read an article by msdn about "overview of architecture software" and it seemed to me quite interesting showing part of the step by step to build a software, but I was in doubt about a question that:
"What are the application’s quality attribute requirements, such as security, performance, simultaneity, internationalization and configuration?"
What specifically does that mean before elaborating the software?
I also saw another article informing on how they can help build one software with their tools, so I made a list of what a
precise (based on what I read in this article), if I follow this step by step I can build a quality product? (Some parts I put on extra because I felt something was missing)
Requirements Engineering
1.1. Feasibility studies
1.2. Identification
1.3. Review and negotiation of requirements
1.4. Specification and documentation
1.5. Validation
1.6. Management of Requirements
Project setting
Software Architecture
3.1. How users will work with the app
3.2. How the application will be deployed in production and managed?
3.3. What are the application quality attribute requirements, such as security, performance, simultaneity, internationalization and configuration
3.4. How to design the application so it is flexible and maintainable over time?
3.5. What architectural trends can affect the application now or after it is deployed?
Overview
Methodologies
Programming
Testing
End product
All this part of building software is a cake recipe or is different for each software where certain parts are not necessarily mandatory.
You know what software requirements are?
– Woss
I do not have full knowledge on this subject unfortunately, just a preview on this. What indicates me reading?
– user152996
Rodrigo, the way to "make software" changes every day, each company does one way, new companies, and traditional companies, startups, etc. Your response will be based on opinions, I believe this way coming out of the goal of the site, if any other user thinks different, I left your comment.
– David
But isn’t there a logical line of reasoning or steps to be followed before any software construction (standardization or anything close to that)? I’m very confused, because coding something that has no objective or some orientation is very difficult, I thought in case we have something like this in our day to day, so we could organize better before performing a program, and already having a basis whether or not that particular idea would work.
– user152996
Rodrigo, your question is interesting, very interesting, but it generates a lot of discussion, because each one has an experience and experience, there are lines that the theory says to follow, as described in your question, the site preaches that here is a place to respond and not to generate discussions, take a look at the [tour].
– David
what you think @Maniero ?
– David
There are a number of steps to be followed, but they are not rules, there are thousands of books and documents to assist in these processes and in the order we call EAP, the name for this is Project Management! and if it is a Startup (where I work) as David said, we follow the famous MVP (Minimum Viable Product) which is to do what is necessary, even with bugs and release, so that the user finds errors and on the way you fix and improve, read about "Lean Startup"If that’s the case, it’ll help you a lot!
– Edson Filho
Remembering that none of these are rules, are good practices, already studied processes that help you to get the best result, with quality quickly and that will help you to organize and not get lost the way.
– Edson Filho
A good study material is SWEBOK (Software Engineering Body of Knowledge). Download for free at: https://www.computer.org/education/bodies-knowledge/software-engineering
– anonimo