Distinction between software engineering and programming

Assignment Help Software Engineering
Reference no: EM132902053

ITECH7201 Software Engineering: Analysis and Design

Assignment - Pair Programming

Learning Outcomes

  • Understand the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product
  • Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.
  • Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach
  • Understand how unit tests are used during software development to assist in agile programming techniques such as refactoring
  • Work together in small teams to complete a fully documented, detailed design and implementation of a small business information system
  • Demonstrate skills in designing and implementing an information system
  • Demonstrate skills in designing Unit tests

Assessment Details

You are required to logically extend the functionality of the Maze Game introduced during lectures, via the modification of the code base as well as documentation and implementation of various user stories. You will use the Boost methodology discussed during lectures, which requires the use of pair programming. All documentation, other than the customized game map, must be completed individually.

The code base provided for this assignment has already implemented the "warm up" and some "sets". You will be implementing numerous other "sets" for this assignment using the Boost methodology. The "warm down" stage is not required.

You are free to take ideas discussed during lectures and implement these in your own version of the code base provided in Moodle for this assignment.

This assignment will be marked according to the functionality of your code, in addition to the elegance and extensibility of your design and the quality of your documentation.

Note: It is recommended that you spend some time familiarising yourself with the provided code base prior to beginning any work on this assignment. You should start by spending some time exploring the structure of the code to gain an understanding of the roles each class plays within the system and then complete Lab 7&8.

Assignment Requirements

In Pairs:
Design and implement a custom environment for your maze game. This requires producing your own unique hand-drawn map of the maze game environment and changing the HardCodedData file to reflect the locations and items on your map - should show what is present at each location at start of game. At least M (M>=5) locations, and at least N (N>=2) shops with a condition M>N, must be included, as well as enough items to allow for proper testing of the game functionality. For example, there must be sufficient items to verify that a player cannot collect an item if the weight restriction has been met. Note: you should not retain the original locations or items from the provided code base in your version of the game.

Implement each of the following deliverables/milestones:

functionality as detailed in Lab 7 and Lab 8
commands to manage the various item management commands:
listItems, getItem, and dropItem, to allow the listing of all held items, collect a new item and drop a held item.
equipItem and unequipItem, to wear / wield a held item, and to stop wearing or wielding an equipped item.
purchaseItem and sellItem, to buy an item from a vendor and to sell an item to a vendor.
getmazestatus to show the status of the maze (i.e., value of M and N)
flee/use potion command - potion loses potency over time.
join/leave a Party
talk to character
help command

Ensure that weight restrictions are not exceeded and that the context for each command is appropriate. For example, purchasing and selling of items should only occur in a shop.

Basic combat functions, allowing a player to attack or to be attacked by a non-player character (NPC). A player may flee combat or continue to attack until such time as one combatant loses all life points. The end result must not be hard-coded, and neither the hostile NPCs nor player may have their attributes configured in such a way that the final outcome is pre-determined. Note that combat functions should only be available when the player is in the presence of a hostile NPC, and combat may take whatever form is appropriate for your game context rather than being limited to just hits with a weapon.

Collectable items that, when used, restore life points to a player. The number of life points regained should be determined by the roll of 2 six-sided dice up to the player's maximum health. You can elect to allow these to be used during combat if you wish.

Write Three Unit test cases for each of the methods you are developing in this assignment.

You can write the test cases in any Java framework, using JUnit.

Prepare a short (5-7 min) video presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer. The presentation must contain the following items:

A demonstration of the game from start to finish - one continuous run - how the game play works and how this was implemented.
Explanation of the role of design patterns in the game, clearly identifying the functionality where design patterns have had an impact and how this has occurred.

An analysis on the use of a development methodology in creating the game describing how did this assist or make the development of the game more complicated.

This presentation will be assessed based on the clarity and accuracy of the explanations and how clearly it demonstrates an understanding of how the game was coded, the design patterns used and the impact of using a development methodology.

Individually:

Prepare an individual report, to be submitted as a Word document or a PDF, which includes:

The student number and name of each person on your team (including yourself)

User stories for each of the deliverables/milestones

Class diagrams for Lab 7 and Lab 8

Sequence diagrams for two (2) of the item management commands, taken from separate groupings (i.e. you will not get credit for both getItem and dropItem as they are both in group (i) above)

A statement of your own personal contribution to the assignment

A statement of your partner's contribution to the assignment.

Attachment:- Software Engineering.rar

Reference no: EM132902053

Questions Cloud

Identify one distal and one proximal influence of living : Identify one distal and one proximal influence of living in poverty that are linked together, and likely influence child development in a negative way.
How would improve the quality of life for people : HOW you will use this idea to change the world, improve the quality of life for people, or even push the frontiers of scientific inquiry/application.
Determine if a person may have a psychological disorder : Choose one psychological disorder to examine more closely. Describe the symptoms that would be necessary to determine that a person may have this disorder.
What are the possible implications of results in realworld : What were the findings of previous research that led the researchers to dothis study? What was the research question that they attempted to answer?
Distinction between software engineering and programming : Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program
Receiving her canada pension plan : Elizabeth Regina has decided to finish work and begin receiving her Canada Pension Plan (CPP) retirement benefits in 2021 when she turns age 60.
Social media activities to prevent professional conflict : How can you monitor and control your own social media activities to prevent such a professional conflict?
Describe appropriate interventions for the individual : Provide a brief summary of the individual, including demographic information, family and social history, the behavioral symptoms he or she is experiencing
Opposed to use of cryptocurrency and altcoin : Discuss advantages and disadvantages of type of technology? Based on your findings, are you in favor of or opposed to the use of cryptocurrency and altcoin?

Reviews

Write a Review

Software Engineering Questions & Answers

  Performing the algorithm for insertafter

Draw a picture illustrating the final state of a doubly linked list after performing the algorithm for insertAfter(p, e), but with the order

  Prepare a plan for the training of the software developers

Management's Role- Prepare a plan for the training of the software developers in the organization on the new software assurance guidelines.

  The firm has three major departments recruitment training

the firm has three major departments recruitment training and career services. the training centre provides management

  Create a database-driven application

The system is expected to provide functionality for maintaining the list of employees and general maintenance of the system database by a manager including creation, modification and deletion of employees' accounts.

  Describe the costs associated with software quality work

Describe the costs associated with software quality work? What practices should software engineers follow to enhance quality of software produced by their team?

  Report on data classification using support vector machine

Report on the Data Classification Using Support Vector Machine research paper

  The design of the software1 report of the software design2

the design of the software1 report of the software design2 implement the software as per the design and demonstrate

  Question 1a give four examples of applications that can

question 1a give four examples of applications that can only exist because of networking.b explain what do you

  Write the development and testing portion

You will write the development and testing portion of the software development plan. Identify the key phases of the project that will be subject to testing and the type of testing to be used during that phase

  Analyze the use of an enterprise software systems

Analyze the use of an Enterprise Software Systems (ESS) in a health care organization with regard to its effects on operational outcomes

  An overview of the system or software application

System and Application Overview: An overview of the system or software application an intended users, Requirements Specification: Detailed requirements specification with both functional and nonfunctional requirements

  Is concept of digital rights management doomed to failure

The current legal system allows both proprietary software and open-source software to be distributed. What are the pros and cons of maintaining the status quo?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd