Coursera Software Architecture for the Internet of Things Course Questions Answers

Design Process

  1. Why is it important that needs, wishes, constraints, etc. are clear from the beginning? What can you do if this is not the case?
  2. Does every project need a full-blown software architecture? Why (not)?
  3. What is most important: the functional requirements or the non-functional requirements? Motivate your answer.
Answers

  1. When all these aspects are clear further stages of software development can run smoothly,, however, if there are ambiguities, then it will create conflicts with some other software components.
  2. No, it depends on the size of the product to be developed, if the system is small, then you can start the development right away. You do not need to waste money on architecture development.
  3. Both are the most important in the software development, functional requirements instigate the product to be developed, while nonfunctional requirements provide you the relationship among different functional requirements and user needs from the system. 
Answers from another user
  1. As this is more important for any software development life cycle,if we are not clear about the needs, wishes and constraints we need to recheck the needs and other dependent things with customer in order to make delivery smooth
  2. If we have a full blow architecture then it is well and good for the development lifecycle so that the documentation is available for any new developers, if it is not clear then it might be difficult for the development team to proceed with not much knowledge
  3. It is good to have functional requirements clear so that we are clear what we want to do
Second set of questions:
  • Which process do you currently follow for defining requirements, making the architecture and developing the software? What could be improved? How could this course's content help you?
  • In current or past projects, how did you define the requirements? Do you follow a pre-defined structure? What types of requirements do you define in projects? What could be improved?
I have naive understanding of the development process. This course benefits me to do research in architecture development using the requirements.
Yes in my course projects, I use to define the requirements and follow the development life-cycle to complete the projects. I usually follow the functional requirements because I only develop academic projects.
Assignment

Your first job is to describe one key feature of the “UberGoogle” system and to elaborate 2 related software system requirements of this feature.
Feature: The car should avoid collision
Req1: A safe distance should be provided which instigates the alert.
Req2: The response time of the system.


Discuss/Design a high level architecture for the case using block chain technology


- Understand the impact of an architectural design constraint (use blockchain)
- Make a trade-off analysis with alternative solutions (central management, security issues)
the block chain uses different individuals to do operation on a given task.
The block-chain can cause security challenges while the computations are performed on the distributed devices.
Complete a use case template for one of the use cases from the Share&Charge assignment. The use case you pick should be rather detailed and not too broad. This will allow you to make a detailed description of the use case including the different main success scenarios and the different exceptions. Don't forget to include the black-box sequence diagram.
  1. Name some quality attributes that you knew before this course. Maybe you call them differently then how we call them? Are they linked to any quality attributes that were mentioned in this course?
  2. What are quality attributes that you are often faced with in your projects at work, school, etc.? How do you make sure they are met?
  3. How do you currently define quality attributes and their measurements (like quality attribute scenarios)? How could this be improved based on what you know now?
  4. modifiable, maintainability, response time, and 
  5. 2. maintainability 
    3. the current heterogeneous IoT paradigm has been overwhelmed with the interoperability attribute which need to be considered extensively.

Comments

Popular posts from this blog

Guidelines for Effective Academic Writing

Unstructued Notes on TCP IP Networking

Protecting IT Infrastructure: Key Takeaways from the CrowdStrike Update Incident