2805ICT Principles Of Software Engineering

2805ICT Principles Of Software Engineering

Free Samples

2805ICT Principles Of Software Engineering

.cms-body-content table{width:100%!important;} #subhidecontent{ position: relative;
overflow-x: auto;
width: 100%;}

2805ICT Principles Of Software Engineering

0 Download7 Pages / 1,623 Words

Course Code: 2805ICT
University: Griffith University

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: Australia


Explain design principles including of least privilege and fail-safe defaults, separation of concerns, information hiding, coupling and cohesion, and encapsulation.

Describe the design process for a software development project for each of the main softwaredesign methods

Create appropriate system models for the structure and behaviour of software products from their requirements specifications

Use a design paradigm to design a simple software system, and explain how system design principles have been applied in this design.

Select an appropriate software architecture as the design basis for a given software requirements specification, justify the selection based on its advantages over alternative architectures.
Create software programs that make use of appropriate design patterns.
Create user interface software using either event driven or callback based designs
Explain the importance of Model-View controller to interface programming.
Discuss the properties of good software design including the nature and the role of associated documentation.


Requirement Analysis
A handful of the functional and non-functional requirements have already been capitalized onto and implemented in the prototype version of the application. The application is about a minesweeper game. It is a game where the player is needed to click on the buttons from a grid of boxes. There are placed a random number of bombs under a few of these boxes. The user or the player is needed to click on these boxes to reveal if there is actually a bomb underneath. If there is no bomb or mine present in any of the vicinity boxes of the clicked box, a green patch of land would appear, otherwise, the number of boxes in the vicinity will be displayed within the clicked box. The player is required to play with his wit and calculations to click on all safe boxes and end the game without hitting any mine, this will lead to a victory. On clicking a box with a hidden mine, the user will be bombed and the game will be over. The user needs to complete the game with minimum number of clicks and most importantly minimum amount time consumed.
The protoype has already fulfilled the following requirements:

It already has a game board and allows the users to play as necessary, but only in a easy game board with 6*6 cells and 10 mines placed.
The number of clicks are available with every click of the user. This can even be updated into the end screen information where the gamer can view the number of clicks that he survived the game in case of a defeat.
The user can freely restart the board at any point of time. This will allow the user to refresh his or her mind and play in a new board with a newer set of mine placements and the entire board will be cleared. The restart option can also be availed using the Restart option from the End screen.
The End screen also fruitfully displays the congratulations or defeated message according to the ending of the game.

However, some of the crucial requirements could not be implemented into the preliminary prototype version of the software application. The development process for these implementations are still in process and will be completed and deployed in the final project. These on-going requirement designs are as follows:

Timer: The project is yet to be implemented with a timer that keep tracks about the time that a particular game is going on for.
Multi-sized boards: The development for multiple difficulty levels is in process. On implementation, the game will have two types of boards. Apart from the 6*6 that it already has, a 12*12 massive board will be introduced with more mines and increased difficulty. This will certainly induce more user interest into the game.
Reveal all connected blank boxes: This is one of the most important implementations that is yet to be implemented. Through this functionality the game will be able to reveal all the connected boxes within the board with no bombs in the vicinity.

Use Case analysis
As mentioned in the requirement analysis phase, few of the functional use cases has been already implemented however a lot remains. These will allow the project and the software to be scaled up to a recommendable gaming application for all android application users. The use cases that have been implemented have already been described in the requirement fulfillment phase above, however, the unfulfilled use cases are as follows:

Choosing the difficulty level is still now allowable in the prototype version. The prototype will allow the users to play on the easy board of 6*6 boxes.
Saving and viewing high scores is a coveted use case for any gaming applications or software. This application too needs to have this feature. Through this feature, the user will be able to analyze the time taken by him to play the game in the past and compete against his past performances to attain newer achievements.
The project is yet to be implemented with a timer that keep tracks about the time that a particular game is going on for. This will be necessary for the scalability of the gamer’s performance over the game and allow him or her to compare with the competitors.

Software Architecture
The project has been developed in the Android Studio Platform using the Java programming language. Java is the most commonly used programming language in the world and when it comes to android programming it is generally the first and foremost choice for any programmer or app developer. The programming language offers the best of Object Oriented Programming features and functionalities. This application too had the utmost need of implementing the OOP or object oriented programming features like inheritance, polymorphism and data hiding. Most importantly the use of classes and objects has been extremely helpful in this process.
The application as mentioned before has been designed and developed on the Android Studio platform which is the Google approved and developed first choice application for android app development. This platform has tons of features, tools and functionalities that allow the smooth design of development of project within it. The platform not only gives the developers the scope to design and develop programs, but also allows the testers to test the programs based on various test case analysis tools and techniques.
The game’s interface has been designed using the XML layouts. XML or eXtensible Markup Language was designed for the purpose of storing and transporting data. XML was primarily designed to be both machine-readable and human-interpreted. Later, android started the use of XML parsing to create interface layouts. This allows the implementation of various layout patterns with design based and alignment rules and techniques. It also has the functionalities to import buttons, images and other necessary widgets that are necessary for the designing of a complete software application interface. This creates the View of the program.
Using Java was the primary choice of all other programming languages that are available. Java provides the best use of OOP features. In this project too, object and classes have been extensively used. Every entity in the project is determined and represented as classes and objects. For the game development process, the Box class has been designed to represent each box within the boards. The matrix Board [ ] [ ] is made to hold multiple instance of the Box class. Each box object has been created with a special set of attributes that determines whether it a mine of a safe land. Multiple single dimensional arrays and multidimensional arrays have been used to simulate the game and help in the data collection and calculation process for the game. The methods have been made private within the BoardActivity class to keep it out of access from the outside classes. This helps in maintaining security, which is a crucial feature of OOP. Intents have been created and passed between various activities to convey data from one page of the app to the other. This represents the controller of the program with the logical implications.
In the future, a model based level will be added to the project which will deal with the data. SQLite database is to be implemented to hold the scores of the user playing on a particular device. Doing so, will allow the easy access of data whenever necessary for score calculations. Further, threads are to be implemented within Java to allow the timer to be executed flawlessly in the background while the user is busy in the game.
Sophistication Discussion
The project has been implemented in the prototype without much need of data access or security features. This is because the project is yet to be connected to any database with sensitive user information. The interface design has been done keeping in mind almost all sizes of screens. It was necessary as the program was being developed for the mobile devices and there are various sizes available nowadays. The interface has buttons and clickable icons wherever necessary. This allows to exhibit a rich user interface with quality graphics and interactive medium. The program has been so developed to display Toast messages in case of all notifications that the use requires. This is one of the information access feature that the program has already achieved in its prototype version.
As of now there is only one type of user that plays the game and therefore access control and security measures have been overlooked. However in the future with the implementation of the database and user login abilities, these will be induced. The entire process will be repeated and the implementations will be done based on the Agile Development process.
The prototype has been thoroughly tested using the tools and techniques provided by Android Studio. The program has been tested not only for the feasibility of the functionalities but also has the interface flexibility has been tested for various resolution screens. This has been done with the help of the emulator that is provided by Android Studio.
The unit testing technique had been primarily used to test the application’s individual units and activates. On successfully testing the modules individually, the project was tested using the Black Box testing methods to check for fulfilment of the complete functionality integrations.
Prototype Software Patterns
The BoardActivity java page of the application is being highlighted in this section to describe the software design patterns.
Apart from the above java programming part, there is also the layout xml file that was coded in order to design the interface of the activity. The code for the xml is being attached below.
The layout has been designed with the help of multiple image buttons placed inside a grid of linear layouts.

Free Membership to World’s Largest Sample Bank

To View this & another 50000+ free samples. Please put
your valid email id.


Yes, alert me for offers and important updates


Download Sample Now

Earn back the money you have spent on the downloaded sample by uploading a unique assignment/study material/research material you have. After we assess the authenticity of the uploaded content, you will get 100% money back in your wallet within 7 days.

UploadUnique Document

DocumentUnder Evaluation

Get Moneyinto Your Wallet

Total 7 pages


*The content must not be available online or in our existing Database to qualify as

Cite This Work
To export a reference to this article please select a referencing stye below:


My Assignment Help. (2021). Principles Of Software Engineering. Retrieved from https://myassignmenthelp.com/free-samples/2805ict-principles-of-software-engineering/design-documentation-for-a-variety.html.

“Principles Of Software Engineering.” My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/2805ict-principles-of-software-engineering/design-documentation-for-a-variety.html.

My Assignment Help (2021) Principles Of Software Engineering [Online]. Available from: https://myassignmenthelp.com/free-samples/2805ict-principles-of-software-engineering/design-documentation-for-a-variety.html[Accessed 18 December 2021].

My Assignment Help. ‘Principles Of Software Engineering’ (My Assignment Help, 2021) accessed 18 December 2021.

My Assignment Help. Principles Of Software Engineering [Internet]. My Assignment Help. 2021 [cited 18 December 2021]. Available from: https://myassignmenthelp.com/free-samples/2805ict-principles-of-software-engineering/design-documentation-for-a-variety.html.

.close{position: absolute;right: 5px;z-index: 999;opacity: 1;color: #ff8b00;}


Thank you for your interest
The respective sample has been mail to your register email id


$20 Credited
successfully in your wallet.
* $5 to be used on order value more than $50. Valid for
only 1

Account created successfully!
We have sent login details on your registered email.



Accounting requires a lot of calculation in the balance sheets, chart of accounts, tax accounting, etc. But, you can calculate the complex questions using our scientific calculators and algebra calculators. Thus, you get optimum accounting assignment help, and at the same time, you can save valuable time while acing your task. If you stumble across any problem, you can avail our assignment help.

Latest Management Samples

div#loaddata .card img {max-width: 100%;

MPM755 Building Success In Commerce
Download :
0 | Pages :

Course Code: MPM755
University: Deakin University

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: Australia

The process of developing a successful business entity requires a multidimensional analysis of several factors that relate to the internal and external environment in commerce. The areas covered in this current unit are essential in transforming the business perspective regarding the key commerce factors such as ethics, technology, culture, entrepreneurship, leadership, culture, and globalization (Nzelibe, 1996; Barza, 2…

SNM660 Evidence Based Practice
Download :
0 | Pages :

Course Code: SNM660
University: The University Of Sheffield

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: United Kingdom

Critical reflection on the objective, design, methodology and outcome of the research undertaken Assessment-I
Smoking and tobacco addiction is one of the few among the most basic general restorative issues, particularly to developed nations such as the UK. It has been represented that among all risk segments smoking is the fourth driving purpose behind infections and other several ailments like asthma, breathing and problems in the l…
Australia Maidstone Management Business management with marketing University of New South Wales Masters in Business Administration 

BSBHRM513 Manage Workforce Planning
Download :
0 | Pages :

Course Code: BSBHRM513
University: Tafe NSW

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: Australia

Task 1
1.0 Data on staff turnover and demographics
That includes the staffing information of JKL industries for the fiscal year of 2014-15, it can be said that the company is having problems related to employee turnover. For the role of Senior Manager in Sydney, the organization needs 4 managers; however, one manager is exiting. It will make one empty position which might hurt the decision making process. On the other hand, In Brisba…

MKT2031 Issues In Small Business And Entrepreneurship
Download :
0 | Pages :

Course Code: MKT2031
University: University Of Northampton

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: United Kingdom

Entrepreneurial ventures
Entrepreneurship is the capacity and willingness to develop, manage, and put in order operations of any business venture with an intention to make profits despite the risks that may be involved in such venture. Small and large businesses have a vital role to play in the overall performance of the economy. It is, therefore, necessary to consider the difference between entrepreneurial ventures, individual, and c…
Turkey Istanbul Management University of Employee Masters in Business Administration 

MN506 System Management
Download :
0 | Pages :

Course Code: MN506
University: Melbourne Institute Of Technology

MyAssignmentHelp.com is not sponsored or endorsed by this college or university

Country: Australia

An operating system (OS) is defined as a system software that is installed in the systems for the management of the hardware along with the other software resources. Every computer system and mobile device requires an operating system for functioning and execution of operations. There is a great use of mobile devices such as tablets and Smartphones that has increased. One of the widely used and implemented operating syste…
Australia Cheltenham Computer Science Litigation and Dispute Management University of New South Wales Information Technology 


Our Essay Writing Service Features

Qualified Writers
Looming deadline? Get your paper done in 6 hours or less. Message via chat and we'll get onto it.
We care about the privacy of our clients and will never share your personal information with any third parties or persons.
Free Turnitin Report
A plagiarism report from Turnitin can be attached to your order to ensure your paper's originality.
Safe Payments
The further the deadline or the more pages you order, the lower the price! Affordability is in our DNA.
No Hidden Charges
We offer the lowest prices per page in the industry, with an average of $7 per page
24/7/365 Support
You can contact us any time of day and night with any questions; we'll always be happy to help you out.
$15.99 Plagiarism report
$15.99 Plagiarism report
$15.99 Plagiarism report
$15.99 Plagiarism report
$3.99 Outline
$21.99 Unlimited Revisions
Get all these features for $65.77 FREE
Do My Paper

Frequently Asked Questions About Our Essay Writing Service

Academic Paper Writing Service

Our essay writers will gladly help you with:

Business Plan
Presentation or Speech
Admission Essay
Case Study
Reflective Writing
Annotated Bibliography
Creative Writing
Term Paper
Article Review
Critical Thinking / Review
Research Paper
Thesis / Dissertation
Book / Movie Review
Book Reviews
Literature Review
Research Proposal
Editing and proofreading
Find Your Writer

Latest Feedback From Our Customers

Customer ID:  # 678224
Research Paper
Highly knowledgeable expert, reasonable price. Great at explaining hard concerts!
Writer: Raymond B.
Customer ID: # 619634
Essay (any type)
Helped me with bear and bull markets right before my exam! Fast teacher. Would work with Grace again.
Writer: Lilian G.
Customer ID: # 519731
Research Paper
If you are scanning reviews trying to find a great tutoring service, then scan no more. This service elite!
Writer: Grace P.
Customer ID: #499222
Essay (any type)
This writer is great, finished very fast and the essay was perfect. Writer goes out of her way to meet your assignment needs!
Writer: Amanda B.
Place an Order

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:

Powered by essayworldwide.com

× WhatsApp Us