An Example Of Good Software Engineering

2389 Words10 Pages
Software Engineering Portfolio

Source Code Management

Each member of the team created github repositories to hold source code they had work on. I created a repository called IScanDir, available at https://github.com/AhmedAhmet/IScanDir, to hold work done on the application plugins. Towards the end of the project. A new repository called ScanDirectory was created to hold the latest version of scan directory plugin, available at https://github.com/AhmedAhmet/ScanDirectory. This was an example of good software engineering practice, because the project manager was able to more effectively practice source control management, and monitor the contributions of individual members.

Coding Standards and Code Reviews

Creating variables with
…show more content…
Absent members were able to catch up on what they had missed or where the project was heading. It also gave individuals an easy way to remember what had been discussed in the meeting, in the event they had forgotten the details of the meeting.

Test Driven Development

I made the decision to unit test each part of the scan directory plugin. The scanning directory code was tested in a windows console application called scanDirectoryTest2. Figure 3 shows the ScanDir class used to test the scanning code.

Figure 3
The extracting metadata code was tested in a windows WPF application called audiometadata. Figure 4 shows the MainWindow class. This class is designed to test code from a third party library called TagLib.

Figure 4

Unified Modelling Language (UML)

Three UML diagrams were created to help gain a better understanding of the scan directory plugin. Figure 5
Figure 5 shows a use-case diagram created to show a high level view of the plugin architecture. This was a good choice for a diagram to start on, as it provided the simplest view of how the scan directory would function. Figure 6
Figure 6 shows a sequence diagram for the scan directory plugin. Sequence diagrams show in detail the way objects interact, helping to outline messages defined as an event or an operation belong to a class (Bennett, McRobb, and Farmer, 2007). Sequence diagrams are a lower level analysis in contrast to the use case
Get Access