Question

In: Computer Science

Question 6 UML is a modeling language that enables software engineers to document and exchange their...

Question 6

UML is a modeling language that enables software engineers to document and exchange their designs with colleagues. One of the Agile principles states that documentation should be barely good enough. In your opinion, do you feel that creating UML diagrams is a waste of time or contrary to the agile principles? Do we need to do UML diagramming at all in Agile? If not, why? If so, how much and how often should we leverage UML?

Solutions

Expert Solution

Unified Modeling Language(UML) is used by software developers as modeling language. It is used to model system independent of programming language. It is a graphical language for visualizing, specifying, constructing, and documenting information about software-intensive systems. It enables software engineers to document and exchange their designs with colleagues.

Agile is software development approach that focuses on several iterative and incremental development approach, with each of those variations being its own Agile framework.

One of the Agile principles states that documentation should be barely good enough. This reduces use of UML, as:
a) UML is best-suited for the projects which are called a “Big upfront design approach”. In these projects, the requirements and designs are laid out prior to the start of the project. It is not very consistent with an Agile approach where the requirements and the design tend to evolve as the project is in progress.
b) In every iteration, there will be need to create new UML. This will increase the development time.
c) Over the years complexity and size of UML have increased. Right now there are 14 different types of UML, this increases complexity and time.
d) UML is no longer needed for communication, there is visio, powerpoint, box-line method, etc by which developers communicate.
e) In many projects, the software architecture is quite simple or it just follows a reference architecture, and hence there’s no strong need to create diagrams to represent and communicate the design.

However, we can not totally discard UML, as it has the following benefits:
a) This approach helps clarify the requirements, especially when companies are anxious to get on to the development phase. The use case diagrams allow consultants to present a high-level view of the project to their clients and make sure all parties have a clear understanding of the system functionality and operation of the planned system.
b) Creating diagrams comprising all the actors and use cases that make up a particular grouping of functionality allows consultants to use these diagrams as they gather information. It’s wise to continually refer to and refine these diagrams to better understand how things will need to work, whether in person or remotely.
c) The result is a more detailed listing of the customer’s exact requirements for each use case. For example, there might be three or four requirements that correspond with a single action depicted in the diagram. Any action must include at least one requirement, but may have several.
d) UML is Flexible. Stereotypes and profiles can let you tailor UML to your needs. In other words, you can have modeling elements and relations that are specialized for your domain or for the technologies you’re using.

Therefore, they can be used every time there is a change in design and increment. Further UML documentation can be reduced and only drawings can be used.


Related Solutions

UML is a modeling language that enables software engineers to document and exchange their designs with...
UML is a modeling language that enables software engineers to document and exchange their designs with colleagues. One of the Agile principles states that documentation should be barely good enough. In your opinion, do you feel that creating UML diagrams is a waste of time or contrary to the agile principles? Do we need to do UML diagramming at all in Agile? If not, why? If so, how much and how often should we leverage UML?
Should Software Engineers question the Honesty of Functional Requirements? Ethical and Professional Viewpoints
Should Software Engineers question the Honesty of Functional Requirements? Ethical and Professional Viewpoints
Subject: Professional ethics in computing Question You lead a group of five software engineers involved in...
Subject: Professional ethics in computing Question You lead a group of five software engineers involved in the testing of a new product. Your manager tells you that because of a company-wide layoff, you need to give notice to one member of your team. From your interactions with the team members, you can easily identify the two members who are least productive, but you are not sure which of them you should lay off. You know that the company keeps track...
Question 6        (Marks: 35) Structured Query Language (SQL) is a language that is widely used in...
Question 6        (Marks: 35) Structured Query Language (SQL) is a language that is widely used in industry to create, update and query data in relational databases. This question must NOT be done practically (i.e. in the computer room). You are required to write the SQL code in your answer book. Q.6.1 The below sample data in third normal form was provided by a database designer. Answer the below questions using this data. Table: Country Primary key: CountryID (auto number) All...
Natural Language processing Read and implement the code in NLTK Ch 6, Section 1.3 “Document Classification”,...
Natural Language processing Read and implement the code in NLTK Ch 6, Section 1.3 “Document Classification”, which examines the sentiment analysis of movie reviews. a) Using the movie review document classifier discussed in this chapter, generate a list of the 30 features that the classifier finds to be most informative. Can you explain why these particular features are informative? Do you find any of them surprising? b) Word features can be very useful for performing document classification, since the words...
QUESTION 6 A single line comment in C++ language source code can begin with _____   ...
QUESTION 6 A single line comment in C++ language source code can begin with _____        a) // b) ; c) : d) /* QUESTION 7 What is the output of the following program? #include<iostream> using namespace std; class abc { public: int i; abc(int i) { i = i; } }; main() { abc m(5); cout<<m.i; } a)Garbage b)5        c)Compile Error d)None of the answers QUESTION 8 The following operator can be used to calculate the...
Question 6 Which of the following explanation is NOT consistent with fixed exchange rate system? a....
Question 6 Which of the following explanation is NOT consistent with fixed exchange rate system? a. Under fixed exchange rate system, inflation can easily be spread among trading partners. b. As the structure of a nation’s economy changes, the exchange rate should eventually be changed. But fixed system restricts this adjustment of relative price and the internal balance of payment adjustment process relies mainly on changes in the level of income (and hence employment). c. Relatively easy to forecast exchange...
Question 1 Argue any SIX (6) factors that will cause the unsuccessful of Sahana software project...
Question 1 Argue any SIX (6) factors that will cause the unsuccessful of Sahana software project in offering an effective timely access to comprehensive, relevant and reliable information for humanitarian operations today.
Question 6 Zoy plc is listed on the Hong Kong Stock Exchange and currently has 1m...
Question 6 Zoy plc is listed on the Hong Kong Stock Exchange and currently has 1m issued ordinary shares. Over the last 5 years the following dividends have been paid at the end of each year: Year Net Dividend Per Share (cents) 2016 15.7 2017 17.4 2018 18.8 2019 20.1 2020 21.4 The dividends are expected to increase from 2020 at the same rate as they have historically and then by 4% per annum for periods after 2023. The cost...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT