Search for question
Question

Assignment Details Unit 1 Assignment: Software Design and Modeling Outcomes addressed in this activity: Unit Outcomes: Differentiate between various software development methodologies. Select an appropriate methodology for a particular software development project. Examine software design and modeling techniques. Apply software design tools. Course Outcomes practiced in this unit: IN254-1: Explore various software process models. GEL-8.03: Apply critical thinking to formulate a logical solution to a problem. Purpose Given a requirement, you will examine various software design and modeling techniques by diagramming and analyzing a solution. You will create an IPO chart, pseudocode, and flowchart diagram and perform a desk-check analysis to help formulate your solution to the problem posed. Assignment Instructions Note: For this assignment, you will not be writing any actual code. You are just going through the design and modeling of this scenario. Using an IPO chart, a flowchart diagram, and pseudocode, you will design a routine that will accept a Fahrenheit temperature and convert that temperature to its Celsius and Kelvin equivalents. Hint: The term “routine†can mean function, subroutine, procedure, etc., depending on the language in question. Assignment Requirements A user enters in a Fahrenheit temperature, and gets back two values: Celsius temperature Kelvin temperature The code routine will accept one argument, tempFahrenheit, and will calculate two values, tempCelsius and tempKelvin. It will call two routines internally: ConvertFahrenheitToCelsius will be a routine to convert a Fahrenheit temperature to Celsius ConvertFahrenheitToKelvin will be a routine to convert a Fahrenheit temperature to Kelvin. Use these variable and routine names in your solution. Research and find the formulas to convert Fahrenheit temperature to Celsius and Kelvin and then apply critical thinking skills to formulate a logical programmatic solution to convert the user-entered value of Fahrenheit temperature to Celsius and Kelvin equivalents. Then design the two routines that will implement the formulas you found in your research. This is done by examining how the routines should behave and walking yourself through the design using the following tools. Create your IPO chart. This is where you determine your inputs-processes-outputs. Create a flowchart diagram showing the flow of logic for the solution to these problems. Create your pseudocode. Hint: Pseudocode is a mix of simple syntax from real programming languages and English. When modeling your full routine or program, you will show every aspect of it in the pseudocode. In the case of adding your algorithms or processing to IPO charts or flowcharts, you can use snippets of the pseudocode to only show the pertinent processing. How can you prove that your algorithm is correct? You will perform an experiment and then analyze your results to determine if your algorithm is correct. You must follow the scientific method to ensure repeatable results in your experiment. First, you determine a hypothesis: “What value is computed for an input of 3?†You note the expected result from your hypothesis. It will later be compared to the actual results from your experiment to determine if the experiment passed or failed. The process used to perform your experiment is called a desk check. A desk check is when you identify all the variables used in the routine and place them in a table. You then examine a potential input value, step through the code, and fill out the table at each step in the code. So, when a variable in your code has its value changed, be sure to update that new value in your desk-checking table. At the end of the table, you will have calculated your actual result. This investigation will identify if you have designed the correct logic to realize a correct result. The actual result should match the expected result. You must desk check each routine at least three times. After you have completed your experiment, you need to analyze your results. Did you prove or disprove your hypothesis? Discuss the results of your experiment in a Word document. Show your analysis and your data then explain your conclusions. EXAMPLE: Here is an example scenario using the square algorithm. The square routine will take a number in as a parameter, perform calculations to determine the square of the number, and return the result. You will examine the routine and determine the variables of interest. Then experiment with different input values as you build your desk-check tables. Sample Desk Check: Using your pseudocode algorithm. This routine has three variables of interest: num – the input parameter i – the value of the counter Value â€" the result of the calculation Your hypothesis will be: i If you call the square routine with an input number, the calculated result returned by the square routine will be that number squared: the input value times itself (number × number). Hypothesis: If you call the square routine with an input of 3, the calculated result should be 9. Experiment: Desk check using 3 as input parameter Expected Result: square(3) = 9 num value 0 3 3 1 3 6 2 3 9 Actual Result: 9 ¡ Hypothesis: If you call the square routine with an input of 7, the calculated result should be 49. Experiment: Desk check using 7 as input parameter Expected Result: square(7) = 49 num value 0 7 7 1 7 14 2 7 21 3 7 28 4 7 35 55 LO 5 7 42 44 6 Co 7 49 Actual Result: 49 Directions for Submitting Your Assignment Submit one document that contains your IPO chart, flowchart, pseudocode and analysis, and conclusions. Name your assignment document according to this convention: IN254_YourLastName_Unit1. Submit your completed assignment to the Dropbox by the deadline. Review the rubric before beginning this activity. logo