0% found this document useful (0 votes)
9 views

Project 4

Uploaded by

satdoanv
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Project 4

Uploaded by

satdoanv
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Assignment 7 + 8

3.4: Extreme programming expresses user requirements as stories, with each


story written on a card. Discuss the advantages and disadvantages of this
approach to requirements description.
Solution:
Advantages: The use of user stories is not unique to Extreme Programming - user
stories are widely-used in Agile especially Scrum. They are not necessarily written
down on cards. A user story is considered a “placeholder for conversation” - it is
intended only to be a short and succinct description of the user need and it is
expected that the developer(s) responsible for implementing the user story will
further elaborate the details based on direct communication with the user. The
primary advantage of a user story is that it is short and concise and it expresses the
requirement from the perspective of what the user business need is rather than
attempting to tell a developer how to satisfy that need. It is lightweight, extremely
adaptable, and engineered to make changes and uncertainty manageable.
Disadvantages: It relies on direct communications to further elaborate the details of
the requirement and some developers may not be very skilled in doing that and it is
hard to sell in many corporate environments and hard to learn if you come from the
same.
3.8: You are a software manager in a company that develops critical control
software for aircraft. You are responsible for the development of a software
design support system that supports the translation of software requirements
to a formal software specification (discussed in Chapter 13). Comment on the
advantages and disadvantages of the following development strategies:
a. Collect the requirements for such a system from software engineers and
external stakeholders (such as the regulatory certification authority) and
develop the system using a plan-driven approach.
b. Develop a prototype using a scripting language, such as Ruby or Python,
evaluate this prototype with software engineers and other stakeholders, then
review the system requirements. Redevelop the final system using Java.
c. Develop the system in Java using an agile approach with a user involved in
the development team.
Solution:
a. While working on such a systems, it becomes difficult to estimate the time and
effort required to solve such problem, but I identified the issue and solve it in such
a way that it will not impact the organization in long run
Advantages:
- There would be a team of software engineers, who will decide the development
platform for the system.
- Highly qualified team, which will give very accurate and on time solutions to the
problems may occur to our system.
- System requirements will be developed using several Visual Design software
available to confirm the requirement meets our aim.
- Suggesting the Java as development platform which will make the overall
delivery of the system fast and reliable. It’s also portable to make java application
available on different computers.
- Deciding on the approach chosen we can again enhance the overall system
performance.
Disadvantages:
- System design must be accurate so that no flaws will come into the system.
- Challenges must be handled at the same time, and no challenges must be
postponed as it may be going to affect the system.
- Team Reliability and dependency.
b.
Advantages:
- A highly qualified team, which will give you a very accurate and on time solutions
to be problems which can occur to our system.
- System requirements will be developed using several visual design software
available to confirm the requirements to meet expectations.
Disadvantages:
- System design should be very accurate so that no flaws will come into the system.
- Challenges must be handled at the same time, no challenges must be postpone as it
may be going to affect the system.
c.
Advantages:
- Java is a popular programming language and easy to use for develop the system.
- Using the agile approach help communicate and update customers' requests
continuously and regularly
Disadvantages:
- Java's performance is not really optimal compared to the new programming
languages nowaday
- Under agile development, the main disadvantage is the client expectation increases
too much and the product delivery requires utmost care and time needs to be devoted
to the whole structure of the project.
4.3: Describe the concept of separation of concerns in your own words.
Solution:
Separation of concerns is a design principle for separating a computer program into
distinct sections, so that each section addresses a separate concern. Separation of
Concerns can mean separation of dependencies or separation of relationships. The
idea of Separation of Concerns is to separate the system into smaller components,
functions, so that they are less common, or as less dependent on each other as
possible. When components are integrated into the system, they interact with each
other through Interface information, or open APIs, without knowing how those
components are built. Some advantages are:
- Code can be easier to read and maintain
- The process grows faster, because of the components and features that can be
developed independently of each other, by different teams
- Components can be updated and modified separately
- Components can be reused

You might also like