Posts

Showing posts from September, 2019

HW12: Mythical Man Month

            I found Brooks’ detailing of what he calls the “joys of the craft” to be quite relatable because I’ve experienced what he talked about in all of my programming classes so far, especially the section about the “sheer joy of making things.” I had never programmed anything before attending college, so when I successfully coded my first Python program I felt excited, and it’s satisfying now to be able to look back and see how my programming skills have evolved over time. I also found his section about the “woes of the craft” to be spot on with what I have gone through in my programming classes. Having no prior experience in programming, the learning curve for me was steep. There have been times where I understood a concept immediately and implemented it in a program and times where I stayed up late into the morning trying to comprehend something. For me, the labor certainly has been painstakingly tedious at times, but as B...

HW11: Chapter 6

Image
6.4.  Draw diagrams showing a conceptual view and a process view of the architectures of the following systems: ·          A ticket machine used by passengers at a railway station. Conceptual view: Process view: ·          A computer-controlled video conferencing system that allows video, audio, and computer data to be visible to several participants at the same time. Conceptual view: Process view: ·          A robot floor-cleaner that is intended to clean relatively clear spaces such as corridors. The cleaner must be able to sense walls and other obstructions. Conceptual view: Process view:

HW10: Chapter 5

Image
5.3.  You have been asked to develop a system that will help with planning large-scale events and parties such as weddings, graduation celebrations, and birthday parties. Using an activity diagram, model the process context for such a system that shows the activities involved in planning a party (booking a venue, organizing invitations, etc.) and the system elements that might be used at each stage. 5.5.  Develop a sequence diagram showing the interactions involved when a student registers for a course in a university. Courses may have limited enrollment, so the registration process must include checks that places are available. Assume that the student accesses an electronic course catalog to find out about available courses. 5.7.  Based on your experience with a bank ATM, draw an activity diagram that models the data processing involved when a customer withdraws cash from the machine. 5.8.  Draw a sequence diagram for the same syste...

HW9: Reflections

I mostly agree with the points that Saurabh makes in his article about the future of programming. It seems that new technology is being developed faster than old technology is being replaced. As our way of life continues to evolve, so too will IoT, becoming more and more invasive in our everyday lives. I agree that data is one of the most valuable resources in today’s technology industry and that data collection algorithms will continue to evolve as new technological innovations are made. It is what shapes the technology that companies produce for consumers. From user interface design to machine learning, companies will collect data from everything that we use in our everyday lives. As a result of this increased need for data collection, the security requirements of our technology will equally grow in comparison. I agree with Saurabh ’s assertion that we will face dire consequences if programmers do not make their computers secure. As we saw with the Spy Car Act of 2015 and the ar...

HW8: Chapter 2

2.1.  Suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems. Explain your answer according to the type of system being developed: A system to control antilock braking in a car I believe a waterfall method would be the best software process because, as the text states, safety-critical software is usually developed using a waterfall process because the requirements have to be heavily analyzed before development begins and since safety is a main requirement of a car’s antilock brake system, it’s requirements are unlikely to change during development. A virtual reality system to support software maintenance A software system that focuses on providing maintenance for other systems would likely require an incremental development process as during development the systems that it would be designed to maintain would also likely change. Incremental development would allow for agile develop...

HW7: Reflections

In the article “The Magical Number 7, Plus or Minus 2” , the authors discuss the limits of human short term memory. They assert that there is no way to quantify how much people can recall with short term memory, as the way we remember things is dependent on our knowledge and past experience. An example given is the way we recall language. A speaker of a particular language might recall words whereas a person who doesn’t speak that particular language might recall individual letters or sounds rather than whole words.     The 2010 case study by Rouf et al. the tire pressure monitoring system, (TPMS), of a vehicle are tested to find any vulnerabilities. The TPMS monitors the pressure in a vehicle’s tires and alerts the driver if one of them has their air pressure fall below an acceptable pound per square inch (PSI). The authors discovered in the vehicle they were testing that if a signal was sent with the correct tire ID, then the vehicle’s dashboard would reflect a change in...

HW6: Chapter 4

1.       4.5.  Using the technique suggested here, where natural language descriptions are presented in a standard format, write plausible user requirements for the following functions: o     An unattended petrol (gas) pump system that includes a credit card reader. The customer swipes the card through the reader, then specifies the amount of fuel required. The fuel is delivered and the customer’s account debited. Function: Accept customer input for the amount of gas they want and charge them for it Description: The system will accept a customer’s credit card, allow the customer to specify the amount of gas they want, dispense the gas, and charge the customer for the gas Inputs: Customer credit card information, amount of gas that the customer specified Source: The card reader Outputs: The amount of gas that the customer specified Destination: The customer’s car’s gas tank. Action: The customer will swipe their card through ...

HW5: Reflections

The commonality in all of the articles is they detail poor software designs that resulted in damage to property or potential loss of life. These incidents illustrate how communication failure, whether between software engineering teams or between a team and a client, can bring about disastrous and costly results. Software engineers have just as much of a responsibility to provide clear instructions for the use of their products as any other profession. Failure to adequately communicate correct use of a product can result in deadly consequences to someone using it. In the article “After Stroke Scans, Patients Face Serious Health Risks” by Bogdanich, the failure of GE to properly instruct hospital staff in the use of their machine resulted in countless people being severely over radiated resulting in hair loss and significantly increased risk for developing cancer. As stated by a patient interviewed in the article, various technologies in our society come equipped with safety measure...