System analysis and design - Assignment Sample

Verified

Added on  2021/05/30

|20
|3894
|44
AI Summary

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
System Analysis and Design
Student Name
Institution

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Table of Contents
Introduction.................................................................................................................................................3
Extreme Programming.................................................................................................................................3
Rational unified process (Rup).....................................................................................................................4
Scrum..........................................................................................................................................................5
Crystal Method............................................................................................................................................6
Recommendations.......................................................................................................................................8
Modelling and Diagramming.......................................................................................................................8
Events Table............................................................................................................................................8
Class Diagram..........................................................................................................................................9
Design Class Diagram.............................................................................................................................10
Use Case Diagram..................................................................................................................................11
Use Case Description.............................................................................................................................12
References.................................................................................................................................................14
APPENDIX: Memo......................................................................................................................................17
Document Page
Introduction
Agile development is a software development methodology that uses process iterations during
development, planning and deployment steps in meeting the needs or requirements of a given
users (Admin, 2017). This methodology enhances faster production of the intended software or
applications by developing prototypes that are upgraded during the development process to
form a complete application. This software development approach enhances teamwork,
leadership, self-organization and accountability by ensuring that every person involved in the
project takes part in the formulation of the requirements and the final solution obtained depict
the contribution of each and every member of the development team.
Iteration on the other hand involves dividing a software application development into modules.
Each module is designed, developed and tested in a repetitive cycles until it satisfies the laid
down requirements before it is integrated to the final solution. It is during these iterative
testing cycles that new features can be designed, developed and added to the module after
testing and later integrated into the final solution to make a full operational software
application. The iteration methodology also works hand in hand with the incremental
methodology in dividing the larger development process into smaller parts that are
interrelated. These two methodologies therefore acts as the main foundation in which agile
development is built on.
There exist different methodologies under agile and iteration development (McLaughlin, 2018)
that share the same practices and similarities. Some of these methodologies are discussed
below.
Extreme Programming
This is one of the agile development lightweight methodology that is considered to be efficient,
flexible, has low risks and predictable (Wells, 2018). Extreme programming meant to address
specific requirements of the software development process by small teams by considering
vague and changing requirements (Richter, 2010). This methodology provides software
development values and principles to guide the behavior of the development team. The five
values provided by extreme development methodology include: communication, simplicity,
feedback, courage and respect. The development process also provide the core practices the
development team should embrace during the development process (Kukhnavets, 2018). The
practices used for this method are; the use of planning game , on-site customer, regular small
releases, use of metaphor, creation of simple design, testing, collective ownership, continuous
integration, working 40 hours a week, refactoring, use of pair programming and adherence to
coding standards. An example of extreme programming can be shown in the chart below.
Document Page
These practices provides a clear guideline to the development team on how they should
conduct or tackle the development of a given software applications.
Advantages of extreme programming
It saves time and money. This methodology ensures that final solutions are delivered
fast in minimum time and it also ensures that the budget is favorable by not using a lot
of documentation that is a bit costly.
The programming style is simple and easy to understand and upgrade or change.
It enhances feedback from any member of the development team including the
customers hence leading to low development risks.
Extreme Programming is visible. That is the development team can show progress and
modules developed at any given time of the development process.
It enhances customer satisfaction since it gives an opportunity for customers to provide
their feedback during the development process.
Disadvantages
Has poor code quality assurance since it does not check this.
Characterized with poor design since most of the developers concentrate more on the
coding part than the design part.
Not suitable when developers are working from different places geographically.
Rational unified process (Rup)
This is an agile development methodology that divides the development process into four
phases. These phases consists of business modeling, business design and analysis,
development, testing and deployment (Powell-Morse, 2017). The four phases are as discussed
below.
Inception

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
This is the first phase where the idea of developing a given application is conceived. A thorough
analysis is carried out to determine if the intended project is worth implementing and what
requirements are needed.
Elaboration
In this phase an in-depth analysis is also carried out to evaluate the requirements and the
project architecture. It is also in this phase where cost analysis is also carried out and the
developers given an opportunity to consider different possible ways in which the software can
be developed.
Construction/Coding
This phase involve coding and development of the intended software to its completion, testing
of the modules functionalities and design and the entire application.
Transition
Once the software has been evaluated and approved to satisfy the user’s requirements, it is
deployed or commissioned for production in this phase and update are carried out regularly
based on the user’s feedback.
Rational unified process therefore provides a structural development process for the software
developers and the customers involved by providing a clear plan of the development process.
Advantages
Reusability. This methodology enhances reusability of components hence reducing on
development time.
Less time is required for the integration process of the software application.
It is easy to make changes and updates based on the user’s requirements
Disadvantages
It needs developers with great expertise in development process.
The regular integration throughout the process can bring in conflict with other
development processes such as testing.
This development methodology is complex and complicated as it involves too many
processes such as best practices, iterations, milestone criteria, building block and
workflow.
Scrum
This is one of the agile development methodology with a capabilities of managing and
controlling incremental and iterative solutions of all type (Techterms, 2018). The methodology
is supported by its productivity ability, simplicity and it covers various engineering practices that
employs other agile development methodologies. With this development methodology the
Document Page
customer works hand in hand with the development team to identify the intended software
application functionalities and create a priority of how the functionalities should be
implemented (James, 2013). This development process usually takes a month to complete,
hence once the customer has prioritized the functionalities the development team works on
estimation of the delivery time after a number of successive iterations. The team can only add
any extra feature once the iteration product has been committed. It is then that the next range
of the functionalities priorities are made after the sprint has been delivered.
Advantages
Customer involvement throughout the development process ensures quality
productivity of the final product.
With this process customer feedback is constant and this helps in ensuring that the
product is of low risks
Easy to adapt changes due to frequent feedback
There is clarity of the development process since it is easy to manage the methodology
hence making it easy to make regular updates as per the customer requirements given
during the frequent meetings.
Disadvantages
Not suitable for larger projects since it only functions well with development team of
few members.
Inaccurate time and project cost in the case where the requirements are not well
described.
High risks of project failure in the case where the team members lack commitment.
Crystal Method
This is an agile development methodology that focuses on human and their interactions during
the software development process (Santos, 2017). This development methodology also focuses
on the most critical issues of the business and the priorities made for the system functionalities
under development as shown below.
Document Page
Contrary to the traditional software development methodologies, crystal method does not
focus on fixing tools and techniques but rather keeps humans at the center of the development
process (haikalhasbi, 2013). There are three practices implemented by crystal methodology as
discussed below.
Iteration and incremental development. This practice ensures that the project is developed in
a series of iterations which are time-based (SCRUMstudy, 2013). The module developed during
iteration process is later integrated into the overall system. The next iteration is planned based
on the customer feedback received at the end of the iteration.
Active User Involvement. Since the methodology is so human-centered, it ensures that users
are involved and informed of every development step taken.
Commitment Delivery. The development team is given a mandate to ensure that a product
based on the client values and functionalities is delivered frequently.
Advantages
It ensures customer satisfaction by ensuring that customers are involved throughout the
process.
Crystal method saves on software development time.
Testing is carried out regularly in ensuring that the product produce meets all the user
requirements.
It is suitable for fixing changing requirements.
Disadvantages

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
This method is not suitable for projects with complex dependencies.
It is characterized with risks of sustainability, maintainability and extensibility.
The scope, functionalities and adjustments decisions are made by strict management in
attempt to meet deadlines.
Recommendations
Having analyzed various agile development methodologies, extreme programming
development is therefore recommended for the Australian Fashion Design (AFD). This is
because the methodology ensures that there is regular user involvement hence supporting
frequent feedback, continuous planning, close teamwork and continuous testing. With extreme
programming, the final product is likely to satisfy almost all the user requirements if not all due
to involvement of the users throughout the process. This therefore will translate to very
minimal or no risks at all hence improving AFD services and increasing the company’s sales.
Modelling and Diagramming
Events Table
Event Even
t
Type
Trigger Source Activity/
Use Case
System
Response/
Output
Destination
Customer
Registers on
the CRM
system
Ext Customer
registratio
n
Customer Filling in
customer
details
Successful
registration
Customer
Customer
login
Tem
p
Sign in Customer Login in to
the system
Successful
login to the
system
Customer
Customer
wants to
check if
clothe is
available
Ext Item
inquiry
customer Checks
clothes
availability
Displays
clothe
availability
details
customer
Customer
places an
order
Ext New order customer Creation of
new order
Automatic
Order and
Order
transaction
details
Customer
Shipping
Bank
Document Page
confirmatio
n
Customer
cancels or
changes an
order
Tem
p
Changing
order
request
customer Order
Update
Change
confirmatio
n
Order
change
details
Transaction
s
Customer
Shipping
Bank
Checking or
order status
by
Customer/
Managemen
t
Tem
p
Inquiry of
order
status
Customer/
Managemen
t
Check order
status
Show
details of
Order status
Customer/
Managemen
t
Fulfills
shipping
details for
an order
Ext Order
status
fulfillment
Shipping Save order
fulfillment
Show
Shipping
Status
Customer
Identificatio
n of back
order by
shipping
Tem
p
Back order
notice
Shipping Save back
order
Produce
notification
for back
order
Customer
Return of
clothe by
customer
Tem
p
Order
return
notificatio
n
Customer Create new
order
return
Confirm
returned
order
Bank
Customer
Update of
account
details by
customer
Ext Customer
account
update
notice
Customer customer
details
updated
Update
details
customer
Class Diagram
Document Page
Design Class Diagram

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Use Case Diagram
Document Page
Use Case Description
Name of the
use case Create new order
Scenario Customer makes an order via phone call
Triggering
event Customer makes calls for clothe purchase clothes on catalog from AFD
Document Page
Brief
Description
Verification of customer details is done, the order created, clothes ordered,
payment made and the order transaction is done before the process is
finalized.
Actors: Telephone, sales person, and customer
Stakeholders
Sales department - provides customer details.
Shipping department – checks information fulfillment of where the item is to
be delivered.
Marketing department – Collects market statistics for analysis.
Preconditions
Customer existence is mandatory, there must be catalog, clothes, and
inventory for the ordered clothe
Post
conditions
Creation of the order and its transaction for the payment must be done and
the quantity of the items on the inventory updated. Every order created must
be related to a given customer.
Activities flow Actor System
1. Sales person – Receive phone calls and talk to the customer
2. The sales person - verifies
AFD’s customer information Shows AFD’s customer information
3. Sales person – processes new
order creation Create a new order
4. Customer makes request for addition of an item to the order
5. Sales person verifies the 5.1 Shows item information

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
availability of a given item
6. Sales person process
addition of an item to the order 6.1 adds an order item
7. Repeat steps 4, 5, and 6 until all items are added to the order
8. Customer – marks the end of
an order
8.1 Completes order
8.2 calculate totals
9. Customer submits payment,
sales person enters amount
9.1 Does payment verification
9.2 Creates an order transaction
9.3 Completes an order
References
Admin (2017). Agile Methodology. [online] Agilemethodology.org. Available at:
http://agilemethodology.org/ [Accessed 6 Jun. 2018].
Bloomington, I. (2018). Human Computer Interaction Design: Informatics: Degrees &
Certificates: Graduate: Home: Indiana University. [online] Sice.indiana.edu. Available at:
https://www.sice.indiana.edu/graduate/degrees/informatics/hcid/index.html [Accessed 6
Jun. 2018].
CARROLL, J. (2013). Human Computer Interaction - brief intro. [online] The Interaction Design
Foundation. Available at: https://www.interaction-design.org/literature/book/the-
encyclopedia-of-human-computer-interaction-2nd-ed/human-computer-interaction-brief-
intro [Accessed 24 May 2018].
cprime (2018). What is Agile? What is Scrum?. [online] cPrime. Available at:
https://www.cprime.com/resources/what-is-agile-what-is-scrum/ [Accessed 5 Jun. 2018].
EP (2013). Extreme Programming: A Gentle Introduction.. [online] Extremeprogramming.org.
Available at: http://www.extremeprogramming.org/ [Accessed 5 Jun. 2018].
Foundation (2018). What is User Centered Design?. [online] The Interaction Design Foundation.
Available at: https://www.interaction-design.org/literature/topics/user-centered-design
[Accessed 6 Jun. 2018].
Document Page
haikalhasbi (2013). What Is Crystal Methodology (Agile). [online] haikalhasbi. Available at:
https://haikalhasbi.wordpress.com/2013/11/09/what-is-crystal-methodology-agile/ [Accessed
5 Jun. 2018].
James, M. (2013). An Empirical Framework For Learning (Not a Methodology). [online]
Scrummethodology.com. Available at: http://scrummethodology.com/ [Accessed 5 Jun. 2018].
Kukhnavets, P. (2018). Disadvantages and Advantages in Extreme Programming. [online]
Hygger. Available at: https://hygger.io/blog/disadvantages-and-advantages-of-extreme-
programming/ [Accessed 5 Jun. 2018].
McLaughlin, M. (2018). Agile Methodologies for Software Development. [online] VersionOne.
Available at: https://www.versionone.com/agile-101/agile-methodologies/ [Accessed 6 Jun.
2018].
Powell-Morse, A. (2017). Rational Unified Process: What Is It And How Do You Use It?. [online]
Airbrake Blog. Available at: https://airbrake.io/blog/sdlc/rational-unified-process [Accessed 5
Jun. 2018].
Reynosa, J. (2018). Agile Methodology: The Complete Guide to Understanding Agile Testing -
QASymphony. [online] QASymphony. Available at: https://www.qasymphony.com/blog/agile-
methodology-guide-agile-testing/ [Accessed 5 Jun. 2018].
Richter, L. (2010). What Are the Advantages of Extreme Programming?. [online] Brighthub
Project Management. Available at: https://www.brighthubpm.com/methods-strategies/87839-
advantages-of-extreme-programming/ [Accessed 5 Jun. 2018].
Rouse, M. (2018). What is HCI (human-computer interaction)? - Definition from WhatIs.com.
[online] SearchSoftwareQuality. Available at:
https://searchsoftwarequality.techtarget.com/definition/HCI-human-computer-interaction
[Accessed 5 June 2018].
Santos, J. (2017). XP, FDD, DSDM, and Crystal Methods of Agile Development. [online] project-
management.com. Available at: https://project-management.com/xp-fdd-dsdm-and-crystal-
methods-of-agile-development/ [Accessed 5 Jun. 2018].
SCRUMstudy (2013). What is Crystal? | SCRUMstudy Blog. [online] Blog.scrumstudy.com.
Available at: http://blog.scrumstudy.com/what-is-crystal/ [Accessed 5 Jun. 2018].
Techterms (2018). RUP (Rational Unified Process) Definition. [online] Techterms.com. Available
at: https://techterms.com/definition/rup [Accessed 5 Jun. 2018].
Document Page
Techopedia (2018). What is Human-Computer Interaction (HCI)? - Definition from Techopedia.
[online] Techopedia.com. Available at: https://www.techopedia.com/definition/3639/human-
computer-interaction-hci [Accessed 6 Jun. 2018].
Tutorial (2018). Extreme Programming Introduction. [online] www.tutorialspoint.com. Available
at:
https://www.tutorialspoint.com/extreme_programming/extreme_programming_introduction.
htm [Accessed 5 Jun. 2018].
Usability.gov (2018). User-Centered Design Basics | Usability.gov. [online] Usability.gov.
Available at: https://www.usability.gov/what-and-why/user-centered-design.html [Accessed 6
Jun. 2018].
Wells, D. (2018). What is Extreme Programming (XP)?. [online] Agile Alliance. Available at:
https://www.agilealliance.org/glossary/xp/#q=~(filters~(postType~(~'post~'aa_book~'aa_event
_session~'aa_experience_report~'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'xp))~se
archTerm~'~sort~false~sortDirection~'asc~page~1) [Accessed 5 Jun. 2018].

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
APPENDIX: Memo
To: Managing Director
From: Sheela Brown
Date: Wednesday, May 30, 2018
Re: Information Systems
With the current change in technology, customers are becoming more knowledgeable of what
systems offer great services and they currently control the market space. With this in mind,
Australian Fashion Designs (AFD) have done a review of their services and noted that more can
be done to improve the customer relationship hence attracting many of them. Therefore, there
is a need for the AFD to come up with a Customer Relationship Management System (CRM)
application that will enable the company to manage their business by creating new business
opportunities, models and processes. The company therefore, has been asked to review the
Document Page
basic business relationships with its customers by employing a User Centered Design (UCD)
methodology and developing a plan that will lead to the implementation of the Human
Computer Interaction (HCI) in order to improve their service delivery to their customers.
User Centered Design (UCD)
This is an iterative design approach that considers the involvement of users and their
requirements in every stage of the design process (Foundation, 2018). This approach ensures
that the users are present throughout the design process in order to capture the user’s
feedback thus enhancing the production of a good quality product that do not have risks
(Usability.gov, 2018). UCD guides the designers in brainstorming and researching on various
aspects such as methods and tools to be used in reference to the user’s needs.
Applying UCD approach
This method consist of four design phases. The phases are represented simultaneously by first
analyzing the user’s context about the intended system. This will help the designers to identify
the exact user requirements needed for development of the target system. Once the
requirements have been specified, the development team proceeds to design phase, here
solutions will be developed based on the requirements. The next phase after design will involve
evaluation and analysis of the solutions against the user’s requirements. The performance of
the solution will be thoroughly analyzed based on the user’s context to find out if the solution
meets the user’s needs. Afterwards, the development team will make various iterations based
on the feedback received from the users until the desired solution is attained.
Document Page
With the use of UCD approach, the main focus is to get the user experience therefore there
must be involvement of professionals ranging from various disciplines to evaluate how the
developed design captures the real issues addressed by the users.
The most important thing apart from having the professional is to ensure that the users are
involved during the evaluation process.
Benefits of Investing in UCD
Considering that users are the main players of the intended CRM system for AFD, having them
involved during every stage of development is of great importance. This approach will have the
following benefits to the company and the development team.

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
The approach will minimize human errors risks because designers will be able to modify
the product in a given user’s context and needs resulting into a more stable product.
The user involvement will also enable the designers to have a more clear understanding
of the requirements and user’s needs hence leading to production of a quality product.
User’s involvement will allow the designers to get to know more of various values and
cultures that could be integrated into the intended system.
Human-Computer Interaction (HCI)
This is a field that analyzes the interaction between humans and computer systems. HCI not
only looks at the user interface design but also looks at the functionalities presented by a given
computer system and how this system accommodate various users with different abilities
(Margaret, 2018).
This discipline looks at the various issues when it comes to human usability. This include the
layout and organization of the target system, the use of conventional colors that provide quality
contrast that attracts users (John, 2013). The way the text have been displayed on a given
system and whether the format is clear and visible to all users. HCI analyzes the communication
between the user and the target system and checks whether the response it gives is simple and
easy to understand.
Therefore AFD should consider coming up with a system that adheres to all the HCI principles
(Bloomington, 2018) by creating mental model showing all the system-user interactions and
provide ways in which users can gain knowledge about their system through learning.
1 out of 20
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]