This chapter focuses on software development principles and discusses each principle thoroughly with diagrammatic representation. It also includes the definition of UML (unified modeling language) modelling with an explanation regarding how UML modelling takes place and a detailed example. It also focuses on software testing methods, with each method definition and diagrams well explained. A simple case study situation is taken to discuss the example of UML model. This chapter's main objective is to focus on all key points of software development testing and model design techniques precisely.
TopSoftware Development Life Cycle (Sdlc)
The steps to create software are diagrammatically represented as software life cycle. It is a mapping of various processes that a software building goes through (Benediktsson, O et. al.,2000). These are the following SDLC stages: Shown in Figure 1.
Figure 1. Software Development Life Cycle (SDLC)
Requirement Analysis: In this stage the analyst conducts a meeting to understand the type of software to be used, who is the end user, aim of the product and need for the product. After knowing the details of the product, the team moves to the next stage (Budgen, D. et. al.,2005).
Example: If a client wants a product concerning money transaction. The nature of the transaction, target audience, the currency, features etc. all of it needs to be known before proceeding further.
Defining: Once the analysis is done, these requirements need to be documented thoroughly. This is done in a document called SRS (Software Requirement Specification).
Designing: In this stage based on the previous stages, the software model's design is proposed. This design includes user interface, user experience, database design structures of the software (Cunaku, E. et. al.,2023).
Development: In this stage the actual coding of the software begins. Here the programmers code the software based on coding guidelines set by the management by using interpreter, compilers, and debuggers.
Testing: After the software is developed, the testing stage begins where the entire product is tested against its requirement collected during the requirement gathering. This stage includes unit testing, acceptance testing, system testing, integration testing.
Deployment: Once the testing is done, the software is now deployed based on further assessment.
Maintenance: Once the software is deployed it needs to be maintained so that it can be compatible with updates and changes in future (Dangi, P. et. al.,2023).
TopModeling Requirements With Use Cases
Unified Modeling Language (UML) is a graphical language for visualizing, specifying and documenting the artifact of a software. The UML modelling can be used to show the database classes, attributes, and relationships.
UML Database Modeling: Classes: Classes are the entity of data modelling, and it has various attributes which describe it. These attributes can be primary and foreign keys. Shown in Figure 2.
The attributes can be of these types: public (+), protected (#), private (-)
UML Database Modeling: Relationship: The relationship between one class to another helps in creating the UML data Model.
Types of Relationships: