Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

CS 360 Software Engineering. Asegment #1 Question# 1 ) Research Questions You ar

ID: 3702022 • Letter: C

Question

CS 360 Software Engineering. Asegment #1 Question# 1 ) Research Questions You are required to do some online rescarch to find the answers for the following qucstions. Write the reference under each answer A) What are the Class Responsibility Collaborator (CRO cands? Given an example to show each of them B) What is the difference between Cohesion and Coupling? C) Why the face to face communication with customer is an important project saccess factor? Question #2) lmagine that you are requested to devdop erk.mmesson application for All Sandi Universities. The sydem should be used by stedents to evalaate their instructors fo all daises, write at least fon? of the following -Functional user requirement 2-Functional system requirement 3-Non functional product reqairement Hrate.my.proessr idca Not clcar. You can visit this site to pot deep undantanding of the applicationthttp://www.ratemyprofessors.com Question#3) If you were requested to develop light traffic sydm, ys nood toconsider the potential for scenario for accident, wheh stware?ulty atrite inkrat to this esample?

Explanation / Answer

A)Answer:

Class-Responsibility-Collaborator (CRC)cards :

Class-responsibility-collaborator cards (CRC cards) are not a part of the UML specification, but they are a useful tool for organising classes during analysis and design.

A CRC card is a physical card representing a single class. Each card lists the class's name, attributes and methods (its responsibilities), and class associations (collaborations). The collection of these CRC cards is the CRC model.

Using CRC cards is a straightforward addition to object-oriented analysis and design:

Identify the classes.

List responsibilities.

List collaborators.

CRC cards can be used during analysis and design while classes are being discovered in order to keep track of them.

CRC cards have various benefits, which you might notice makes them very amenable to iterative and incremental process models, especially agile ones:

They are portable: because CRC cards are physical objects, they can be used anywhere. Importantly, they can easily be used during group meetings.

They are tangible: the participants in a meeting can all easily examine the cards, and hence examine the system.

They have a limited size: because of their physicality, CRC cards can only hold a limited amount of information. This makes them useful to restricting object-oriented analysis and design from becoming too low-level.

Class responsibilities are the class's attributes and methods. Clearly, they represent the class's state and behaviour. Collaborators represent the associations the class has with other classes.

CRC cards are useful when the development of classes need to be divided between software engineers, as the cards can be physically handed over to them. A useful time to do this is when classes are being reviewed, for, say, determining whether they are appropriate in a design.

B)Answer:

Cohesion:

Cohesion represents the degree of the systematic or logical connection or consistency in the logicexpressed in the our code. In other words, it’s the level of balance and harmony of the software logic within a module.

Coupling:

Coupling instead represents the measure of the level of dependency between two software modules. Coupling could be Low or High, and we definitively want the lower coupling between our modules.

Differences:

cohension:

->Cohesion is the indication of the relationship within module.

->Cohesion is a degree (quality) to which a component / module focuses on the single thing.

->While designing you should strive for high cohesion i.e. a cohesive component/ module focus on a single task (i.e., single-mindedness) with little interaction with other modules of the system

->Cohesion is the kind of natural extension of data hiding for example, class having all members visible with a package having default visibility.

->Cohesion is Intra – Module Concept

Coupling:

->Coupling is the indication of the relationships between modules.

->Coupling shows the relative independence among the modules

->Coupling is a degree to which a component / module is connected to the other modules.

->While designing you should strive for low coupling i.e. dependency between modules should be less

->Making private fields, private methods and non public classes provides loose coupling.

->Coupling is Inter -Module Concept

c)Answer:

why is face-to-face communication in the workplace so important?

When we communicate primarily through a screen, we miss out on the ability to form lasting connections with people. In order to maintain and grow personal and professional relationships, face-to-face communication is absolutely imperative.