Journal Assignment #4
September 10, 2018
1) Explain the key differences between functional and nonfunctional dimensions of software quality.
Functional dimensions of software quality specify a function that a system or system component must be able to perform. This information is used to help the reader understand why the requirement is needed, and to track the requirement through the development of the system.
Non functional dimensions of software quality are the requirements that specify criteria that can be used to judge the operation of a system. They place restrictions on the product being developed, the development process, and specify external constraints that the product must meet.
2) List two code metrics and how each metric can help us develop higher quality software.
Software quality assurance metric. These preventive activities find defects in code, predict defective code, predict project risk.
Software quality control metric. These processes validate the artifacts’ compliance with their specified requirements and to detect any problems.
3) Give an example of how a quality dimension that is important in one situation can be unimportant in another.
It includes the different working characteristics of the item. For instance, television set, for illustration, these characteristics will be the quality of the picture, sound and life span of the picture tube. These quality dimensions are only importance in television situation but not in any other situation.
Journal Assignment #3
September 4, 2018
1) Write an algorithm to classify an angle given in degrees as acute, right, or obtuse. (Assume the angle is greater than zero and less than 180 degrees.)
Input: angle in degree
If angle ; 0 and 90 degrees and ; 180 degrees then print “obtuse”.
2) Given the start and end times for two courses, write an algorithm to determine whether those courses conflict.
f the start and end times are equal, then the courses conflict.
If the start time of the first class is before the start time of the second class:
Look to see if the end of the first class is before the start of the second class:
If yes, then the courses don’t conflict.
If no, then the courses conflict.
If the start time of the first class is after the start time of the second class:
Look to see if the end of the second class is before the start of the first class:
If yes, then the courses don’t conflict.
If no, then the courses conflict.
3) Explain how you would apply decomposition to the problem of cooking a meal.
a) Write down ingredients for cooking a meal
b) Organize the stuffs for cooking a meal in the order they will be used
c) Start cooking a meal until it is done
4)Explain how you would apply abstraction to the following problems:
10 + 9
41 + 64
8000 + 1
I would apply abstraction to these problems by displaying only essential information and ignoring the details. For instance: a) 19, b) 105, c) 8001 are results that I will consider to display and mind less about how I implemented from 10 + 9, 41 + 64, 8000 +1.
All three problems are addition problems, so we can apply abstraction across the three problems to solve the problem of adding two numbers.
5)What is the most important thing you learned during this module?
I learned in this module how to think on breaking down the problems without using programming code easily.
6)What important questions from this module remain unanswered?
Is pseudo code structured whereby companies use certain accepted standard
(a) Describe in one sentence what the software was intended to do, but did not do successfully. Assume your audience has not read the study.
The software was developed to reveal the structure and evolution of the universe and it was not successful due to fundamental factors leading to loss of ASTRO-H operation.
(b) Identify two decisions made by humans while designing, building, and deploying the software that made the failure possible.
Setting inappropriate parameter rate that takes a high value. Secondly, designing concept where the two STT are used as a redundancy system
(c) List one immediate and one long-term impact of this failure. For each impact, identify who or what was affected and the cost or benefit.
There was insufficient operational training for prevention of human error and verification failures, and quality control records were incomplete. This affected individual who entered parameters and might cost him job because s/he was not competent enough.
Both the JAXA ASTRO-H project and operational support companies failed to perform fundamental operations necessary for reliable operations. This affected companies because it could lead them losing government funding for their big projects
(d) List two steps the company or institution took to avoid this failure or to reduce the impact of the failure. For each step describe whether it was effective (or not) and the reason it was effective (or not).
All operating procedures and management methods for ISAS projects shall be according to project-related rules and regulations determined by JAXA.
The company will strive to strike an appropriate balance between the requirements for safety and scientific discovery, and ISAS will take responsibility for assuring that cutting?edge scientific missions are realized.
(e) Describe at least two other steps the company or institution could have taken to avoid or reduce the impact of this failure.
For errors in data input during parameter calculation, the company or institution was to make sure the input negative values are converted to output positive values
In addition, with lack of verification of the data, the company would have used the simulator to verify the generated thruster control parameters.
Journal assignment #1
August 26, 2018
1. What aspects of SOFT 160 are you most excited about?
I am super excited about learning coding in SOFT 160.
2. What aspects of SOFT 160 do you expect to be the most challenging?
I expect coding to be most challenging because I lack coding experience. I only have an experience in desktop supports and hope this experience will translate to something that will help me in SOFT 160.
3. What expectations do you have of the SOFT 160 instructors?
I have high expectations for the SOFT 160 instructors and these include getting feedback on my work because this feedback will create the room for me to improve. On top of that, I expect the instructors to listen and respond to my concerns.
4. List three learning goals you have for yourself in SOFT 160
I need to learn the meaning of terminology in Software Engineering
I want to be able to use software engineering tools
I want to learn how write and modify code
5. After reading the CSE Academic Integrity Policy, explain in your own words, the types of collaboration acceptable in individual assignments according to this policy.
First, discussing things such as practice problems and class notes with other students is acceptable collaboration. Secondly, working together with other students on a project and you list the names of participants is also acceptable collaboration. In addition, citing the the source of copied code on your assignments for which instructor allow inclusion of code other than yours is acceptable collaboration.
6. Explain the possible consequences of violating the CSE Academic Integrity Policy.
The possible consequences will depend on the degree of violation. The student will receive no credit for the assignment if student committed the first offense that is isolated and remorseful. If the first offense is considered as egregious, student will receive a failing grade for the class and student will not be permitted to drop the class or change it to pass/no-pass grading. This consequence also applied to second offense. Finally, if student committed third offense, student will be expelled from the major or minor and will not be permitted to enroll in any of the department course.
7. List three questions that you would like to ask software engineers to learn more about their careers, experience, or software engineering in general.
Are software engineers in demand?
How many hours does a software engineer work on coding a day?
What programming languages should software engineers know?