NO project can succeed without a plan.
Engineering is the design, construction, and use of engines, in this case, software engines.
Below are the high level steps that associated with a software engineering project.
Requirements
High-Level Design
Low-Level Design
Development
Post Dev-Iterative Testing
Deployment
Maintenance
Wrap-up
Diapositiva 2
Step 0: Don't Start Yet
There are certain things that ALL software projects require regardless of content.
Even a simple software project may have tons of documentation. You need document management.
Do something to reduce the signal to noise ratio in e-mail like prefixing them with something: [PROJECT BLAH]
You need source control.
Make sure to comment and document your code appropriately.
Don't forget to plan for actual application documentation.
Diapositiva 3
Step 1: Figure Out Requirements
Depends on who the customer is. Make sure you have the right customer, e.g., don't (only) ask a hospital administrator for requirements for software used by nurses.
Determine the correct customer's wants and needs.
Turn wants and needs in requirements documentation.
Use requirements documentation to manage change.
Diapositiva 4
Step 2: High-Level Design
Includes:
Platform Design
Data Design
Security Design
User Interface Design
etc., etc.
Should cover all aspects of the requirements documentation.
Should be abstract and include assumptions about the system but not necessarily final decisions about the system.
Diapositiva 5
Step 3: Low-Level Design
Describes how the pieces of the high-level design should work
Defines who should do each piece
May lead to changes in requirements and high-level design
Diapositiva 6
Step 4: Development
Refines low-level design until it can be implemented
Remember to write tests and implement in-dev testing