logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

You have been tasked to develop the architecture for a mine pump control system, designed to monitor and pump floodwater out of mine shafts.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Assignment 3: Software Engineering – Mine Pump Control System (MPC).

Problem Scenario

You have been tasked to develop the architecture for a mine pump control system, designed to monitor and pump floodwater out of mine shafts. As underground mining operations take place far below the water table, flooding into mine galleries and shafts is an ever-present danger. Excessive flooding is clearly a safety hazard for workers, but also has profitability implications ranging from equipment damage to productivity delays, to mine closures in extreme circumstances.

 

The system to be developed will be required to monitor the water level in a given mine shaft using two sensors. A high water sensor that measures the maximum acceptable level of flooding in a shaft before pumping begins, and a low water sensor, which measures the minimum level of acceptable flooding and pumping stops. These sensors are used to start a mine pump. When the flooding level exceeds the level determined by the high water sensor the pump is switches on. When the water has been pumped out and the minimum level of acceptable flooding has been reached, as measured by the low water sensor, the pump switches off.

 

In addition to flooding mining is often hindered by methane pockets, where gas seeps into the shafts and galleries triggering an evacuation. Again, this is a safety hazard, the mining staff won’t be able to breathe, and even more critically, operating equipment may generate sparks which will cause the methane to ignite. Therefore, the system will include a methane sensor that will be used to trigger an evacuation alarm in the presence of dangerous levels of methane (measured in N parts per million), and also switch off the pump regardless of the current water level.

 

The system is used by two key roles. The first is the Operator. This role is required to log in to the system with a username and password. Following a successful login, the operator is able to start or stop the pump if, and only if, the water level is between the high and low sensor limits. The second role is the Supervisor. A supervisor must verify their security credential as per the operator above. Following a successful login, they are able to switch the pump on, or off at any time. For example, a supervisor could run the pump after the flood level has dropped below the level set by the low water sensor. They could also switch the pump off if the water level goes over the maximum high level of flooding. In these cases, the supervisors’ actions override the automatic behavior of the pump. A supervisor is required to “reset” the pump system in order to re-establish automatic behavior.

 

Finally, to meet Federal monitoring standards a persistent log is required to capture the following events:

 

  • Pump switched on by high water sensor
  • Pump switched off by low water sensor
  • Pump switched on or off by operator or supervisor
  • Evacuation alarm triggered by methane sensor
  • The reading of the methane sensor every 30 minutes

 

The reading of the methane sensor (for the last 24 hours) can be read by the operator. All readings (up to 30 days) can be read by the supervisor. The supervisor also has the capability to add a “note” to any specific log event that occurs within 24 hours.

 

Complete the Following Software Engineering Tasks

 

  1. Your company has decided to utilize “best practices” in requirements elicitation and iterative development practices. As a consequence, for the problem scenario described above, perform a problem analysis and capture high-level requirements to be saved in a Requirements Specification Document (in MS Word). See the SRS Template. Items 2 and 3 below will be inserted into the SRS Document.

 

  1. Perform requirements model engineering and specify a set of essential and real use cases describing the functionality that your business solution/system will exhibit. To start, identify goals/sub goals, actors and their dependencies, and high-level tasks. Perform scenario modeling and group scenarios as needed to identify essential use cases. Using essential/real Use Case diagrams identify the following:

 

  • Actors – who/what interacts with the business solution/system?
  • Use Cases – what behaviors does the business solution/system exhibit?

For each use case you have identified, fill out the Use Case Specification (Description) Template, one for each use case. Document all of the Use Case Specifications/Descriptions using MS Word. This will become the reference listed in the SRS, item 1.3. Use the following template for each Use Case Description.

Use Case Specification (Description) Template

 

Use Case ID: {This should be coded to identify the level of the use case}
Use Case Name: {Short descriptive phrase}

Relevant Requirements: * {Reference to relevant requirements document.}

Primary Actor: {Main sub-system/entity that initiates use}

Pre-conditions: {Requirements on the state of the system prior to this use being valid.}

Post-conditions: {This describes the state of the system following the successful completion of this use. Effects on other systems and actors may also be described.}

Basic Flow or Main Scenario: {Numbered flow of events: 1 The user initiates an action by... 2 The system responds by...}

Extensions or Alternate Flows: {This section presents variations on this use case. It presents those use cases that have an extends relation with the current use case.}

Exceptions: {This section describes all error conditions that can arise in the use case.}

Related Use Cases: {use cases that are either usually performed just before or after the current use.}

 

*Note: Establish proper requirements traceability to the Use Case requirements. Integrate the Use Case in the template with the Requirements Specification Document.

 

  1. Draw the UML Use Case Diagrams using a UML modeling tool of your choice. You may also draw them by hand. Document all of the UML Use Case Diagrams using MS Word. This will become the reference in the SRS, item 1.3.

 

  1. Brainstorming and CRC Cards (cards are optional):

Brainstorm a list of object candidates that model objects you consider key abstractions necessary to solve the problem. You may want to use index/CRC cards to assist with this modeling exercise. Creating cards is option. Consider the following questions:

  • “What do I know”? – what data will the object candidate encapsulate?
  • “What do I do”? – what methods (functions) will the object support?

Assign each of these candidates an index card. In the responsibilities section document the data/methods you have identified. Using the set of primary scenarios developed in the previous exercise walk through each step, identifying how your objects will implement the flow described within the scenario. Need to add a responsibility as you walk through a scenario? Go ahead! Need to add a new object? Remove a responsibility? Remove or combine objects? Again, change at this stage is encouraged. There is no outcome document for this step. This is simply a thinking exercise for you to take some time to analyze the system so you can create the object model for it.

 

  1. Create Class Diagrams. Use the set of object candidates identified in step 4 and develop a set of class diagrams that will document the classes and their relationships in a more formal manner. Diagram all identified classes. This will become the reference in the SRS, item 1.3.
  2. Create Sequence Diagrams: Use the flow you have identified (in step 4) at the Use Case and CRC level between objects and develop a set of sequence diagrams to represent the flow of control from a given actor(s) and its execution of the methods you have identified with your emerging model.

At the completion of this assignment you will have the following to submit:

SRS Document – Step 1

Use Case Specification Document – Step 2

UML Use Case Diagrams Document – Step 3

Class Diagrams – Step 5

Sequence Diagrams – Step 6

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

728 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

601 Answers

Hire Me
expert
Husnain SaeedComputer science

963 Answers

Hire Me
expert
Atharva PatilComputer science

561 Answers

Hire Me
March
January
February
March
April
May
June
July
August
September
October
November
December
2025
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
SunMonTueWedThuFriSat
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30