Software Architecture and Design
VerifiedAdded on 2020/03/16
|11
|2322
|43
AI Summary
This assignment requires you to analyze the architectural design of a software system. Your analysis should focus on key quality attributes such as reliability, performance, security, and maintainability. You are expected to evaluate the chosen architecture against established best practices and discuss its strengths and weaknesses in meeting the desired quality goals. The assignment encourages you to demonstrate your understanding of software architecture principles and their practical application.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Running Head: SYSTEM ANALYSIS PG
Assessment
[Student Name Here]
[Institution’s Name Here]
[Professor’s Name Here]
[Date Here]
Assessment
[Student Name Here]
[Institution’s Name Here]
[Professor’s Name Here]
[Date Here]
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SYSTEM ANALYSIS PG 2
Table of Contents
Introduction.............................................................................................................4
The non-functional requirements..........................................................................4
System qualities......................................................................................................4
System interface and user interface (UI)................................................................5
System constraints..................................................................................................6
Cloud-based solutions.............................................................................................6
Strengths of cloud computing................................................................................6
Weaknesses............................................................................................................7
System development life cycle (SDLC)..................................................................7
Predictive SDLC....................................................................................................7
Pros of this method..............................................................................................8
Cons.....................................................................................................................8
Adaptive approach..................................................................................................8
Pros of the approach............................................................................................9
Cons.....................................................................................................................9
Recommendation.....................................................................................................9
Conclusion..............................................................................................................10
References..............................................................................................................10
Table of Contents
Introduction.............................................................................................................4
The non-functional requirements..........................................................................4
System qualities......................................................................................................4
System interface and user interface (UI)................................................................5
System constraints..................................................................................................6
Cloud-based solutions.............................................................................................6
Strengths of cloud computing................................................................................6
Weaknesses............................................................................................................7
System development life cycle (SDLC)..................................................................7
Predictive SDLC....................................................................................................7
Pros of this method..............................................................................................8
Cons.....................................................................................................................8
Adaptive approach..................................................................................................8
Pros of the approach............................................................................................9
Cons.....................................................................................................................9
Recommendation.....................................................................................................9
Conclusion..............................................................................................................10
References..............................................................................................................10
SYSTEM ANALYSIS PG 3
Introduction
In general, the healthcare industry has rapidly moved towards the digital platform over the past
few years due to the amount of data it collects. In most cases, this data stems from patient’s
records which include extended descriptions of the diagnostics and treatment procedures. Now,
most of this data must be analyzed to yield conclusive results which necessitate the need for
cloud storage facilities which collect, process and distribute meaningful information. Moreover,
the same facilities enable the healthcare institutions to store their extensive records which are
then readily accessed from any location and using any digital platform. Similarly, the Headspace
project aims to promote the functionalities cloud computing into its existing IT infrastructure by
linking its proposed information system to a cloud service provider (Reddy & Reddy, 2013).
This report analyses the different system design parameters that will facilitate this collaboration
including the non-functional requirements of the system itself. Moreover, the attributes of cloud
solutions are given and so are the development methods.
The non-functional requirements
These are attributes or characteristics and that define the system design thus constrain it from
different functionalities across a wide range of operating platforms. Now, this definition is
different as compared to that of functional requirements which outline the functionalities and
operations of the system (Hassan, 2010). Therefore, these requirements define the system’s
interaction with the end user which promotes the usability outcomes.
System qualities
These elements facilitate and maintain the efficiency of the system thus ensuring that the overall
user structure is satisfied. Furthermore, if they are not met, the system may fail to meet certain
Introduction
In general, the healthcare industry has rapidly moved towards the digital platform over the past
few years due to the amount of data it collects. In most cases, this data stems from patient’s
records which include extended descriptions of the diagnostics and treatment procedures. Now,
most of this data must be analyzed to yield conclusive results which necessitate the need for
cloud storage facilities which collect, process and distribute meaningful information. Moreover,
the same facilities enable the healthcare institutions to store their extensive records which are
then readily accessed from any location and using any digital platform. Similarly, the Headspace
project aims to promote the functionalities cloud computing into its existing IT infrastructure by
linking its proposed information system to a cloud service provider (Reddy & Reddy, 2013).
This report analyses the different system design parameters that will facilitate this collaboration
including the non-functional requirements of the system itself. Moreover, the attributes of cloud
solutions are given and so are the development methods.
The non-functional requirements
These are attributes or characteristics and that define the system design thus constrain it from
different functionalities across a wide range of operating platforms. Now, this definition is
different as compared to that of functional requirements which outline the functionalities and
operations of the system (Hassan, 2010). Therefore, these requirements define the system’s
interaction with the end user which promotes the usability outcomes.
System qualities
These elements facilitate and maintain the efficiency of the system thus ensuring that the overall
user structure is satisfied. Furthermore, if they are not met, the system may fail to meet certain
SYSTEM ANALYSIS PG 4
regulatory measures or standards set by the governing authority (Losavio & Chirinos, 2003).
Now, they are:
Performance – the overall utilization of the system which is measured using the response time,
static volumetric and throughput among many other factors.
Reliability and recoverability – consistency in operations and functionalities despite the changes
in operation platform or occurrence of hardships.
Security – the property, more so the data must be protected against illegal access or exposure.
Usability – the most critical component that determines the overall system’s satisfaction levels. It
is the system’s ability to facilitate operations through different practical functionalities
(Microsoft, 2017).
System interface and user interface (UI)
These elements represent the overall structure that interacts with the end user i.e. the outline that
delivers the results and allows users to give the system input. Its design generally dictates the
system’s performance as the user’s appeal will determine its usability. Therefore, the developer
must balance the technical prowess of the background structures with the overall system
interface i.e. items such as colour, icons and images (E-cartouche, 2017). To this end, the
following attributes are necessary:
Maintainability – the interface should live up to the time through update features i.e. patches that
constantly engage the users.
Interoperability – especially with all platforms i.e. operating systems and deployment languages.
regulatory measures or standards set by the governing authority (Losavio & Chirinos, 2003).
Now, they are:
Performance – the overall utilization of the system which is measured using the response time,
static volumetric and throughput among many other factors.
Reliability and recoverability – consistency in operations and functionalities despite the changes
in operation platform or occurrence of hardships.
Security – the property, more so the data must be protected against illegal access or exposure.
Usability – the most critical component that determines the overall system’s satisfaction levels. It
is the system’s ability to facilitate operations through different practical functionalities
(Microsoft, 2017).
System interface and user interface (UI)
These elements represent the overall structure that interacts with the end user i.e. the outline that
delivers the results and allows users to give the system input. Its design generally dictates the
system’s performance as the user’s appeal will determine its usability. Therefore, the developer
must balance the technical prowess of the background structures with the overall system
interface i.e. items such as colour, icons and images (E-cartouche, 2017). To this end, the
following attributes are necessary:
Maintainability – the interface should live up to the time through update features i.e. patches that
constantly engage the users.
Interoperability – especially with all platforms i.e. operating systems and deployment languages.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SYSTEM ANALYSIS PG 5
Accessibility and availability – despite the multiple functionalities, the interfaces must be size
convenient for fast access regardless of the internet connection (Rahman, Safadi, & Basaula,
2015).
System constraints
First, the major constraints, in this case, are the non-functional requirements themselves as they
will restrict the development of the system itself. Furthermore, they will limit the deployment
platforms which will include programming languages and operating systems. Moreover, they
will affect the overall budget and time provision which will limit the system’s functionalities.
Cloud-based solutions
These are services that are offered to customers (subscribers) through internet connections or any
other forms of public networks. Now, these services usually include IT resources such as
networks, processing power and storage facilities among many others. A service providers
(better known as CSP) will host these resources in foreign environments and lease them to
willing subscribers. In the end, the subscriber will use a pay-as-you-use model to host their
resources online under the CSP infrastructure (Council, 2017). Similarly, if adopted by the
Headspace project, the proposed system will be hosted online, an outcome that will boost its
availability and accessibility. Furthermore, due to its attributes, the cloud resources will have the
following benefits and weaknesses.
Strengths of cloud computing
Cost saving – a crucial component of any organization as it determines the overall expenditures
and income returns. In this case, cloud computing eliminates the implementation and
maintenance cost of IT resources.
Accessibility and availability – despite the multiple functionalities, the interfaces must be size
convenient for fast access regardless of the internet connection (Rahman, Safadi, & Basaula,
2015).
System constraints
First, the major constraints, in this case, are the non-functional requirements themselves as they
will restrict the development of the system itself. Furthermore, they will limit the deployment
platforms which will include programming languages and operating systems. Moreover, they
will affect the overall budget and time provision which will limit the system’s functionalities.
Cloud-based solutions
These are services that are offered to customers (subscribers) through internet connections or any
other forms of public networks. Now, these services usually include IT resources such as
networks, processing power and storage facilities among many others. A service providers
(better known as CSP) will host these resources in foreign environments and lease them to
willing subscribers. In the end, the subscriber will use a pay-as-you-use model to host their
resources online under the CSP infrastructure (Council, 2017). Similarly, if adopted by the
Headspace project, the proposed system will be hosted online, an outcome that will boost its
availability and accessibility. Furthermore, due to its attributes, the cloud resources will have the
following benefits and weaknesses.
Strengths of cloud computing
Cost saving – a crucial component of any organization as it determines the overall expenditures
and income returns. In this case, cloud computing eliminates the implementation and
maintenance cost of IT resources.
SYSTEM ANALYSIS PG 6
Resource availability and accessibility – healthcare stakeholders would be able to access all
resources hosted online so long as they have an internet connection.
Flexibility and redundancy adaptability – CSPs will host the same resource in multiple locations
which improve the backup options available (Viswanathan, 2017).
Weaknesses
Security and privacy – the CSP will operate in public platforms which raises the concerns of
resource security and privacy. Moreover, since the resource occurs in an international platform
(internet) the local Australian laws may not govern it. Therefore, the solution, in this case, will
fall on the security measures implemented including data encryption and authentication where
verification of the users will be done.
Loss of system control – cloud solutions lack the physical control of resources experienced by
users when using the on-premise equipment. Furthermore, the end users (subscribers) cannot
track or tag their resources as they are ferried online (Ward, 2017).
System development life cycle (SDLC)
SDLC is a process that facilitates users to transform system’s theoretical ideas into practical
operational systems. In essence, SDLC will involve an array of procedures and stages that will
implement a software solution using methodological stages. Furthermore, since different systems
have varying functionalities and characteristics, the process will change from time to time which
outlines the different approaches associated with SDLC (Isaias & Issa, 2010). In all, some
approaches will emphasize on some requirements and functionalities as compared to others.
Therefore, the SDLC approach will generally determine the final solution depending on the
deployment procedure used.
Resource availability and accessibility – healthcare stakeholders would be able to access all
resources hosted online so long as they have an internet connection.
Flexibility and redundancy adaptability – CSPs will host the same resource in multiple locations
which improve the backup options available (Viswanathan, 2017).
Weaknesses
Security and privacy – the CSP will operate in public platforms which raises the concerns of
resource security and privacy. Moreover, since the resource occurs in an international platform
(internet) the local Australian laws may not govern it. Therefore, the solution, in this case, will
fall on the security measures implemented including data encryption and authentication where
verification of the users will be done.
Loss of system control – cloud solutions lack the physical control of resources experienced by
users when using the on-premise equipment. Furthermore, the end users (subscribers) cannot
track or tag their resources as they are ferried online (Ward, 2017).
System development life cycle (SDLC)
SDLC is a process that facilitates users to transform system’s theoretical ideas into practical
operational systems. In essence, SDLC will involve an array of procedures and stages that will
implement a software solution using methodological stages. Furthermore, since different systems
have varying functionalities and characteristics, the process will change from time to time which
outlines the different approaches associated with SDLC (Isaias & Issa, 2010). In all, some
approaches will emphasize on some requirements and functionalities as compared to others.
Therefore, the SDLC approach will generally determine the final solution depending on the
deployment procedure used.
SYSTEM ANALYSIS PG 7
Predictive SDLC
To understand this methodology, we highlight the approach using a common example of the
predictive SDLC method i.e. the waterfall model. Now, the waterfall model falls a sequential
procedure during its implementation of system projects. The same model is followed by the
overall predictive approach where design stages of system development are critically outlined
before implementation and are then followed sequentially without any deviation (MIS, 2015).
Therefore, the first step is always to identify the stages of development including their specific
requirements and assumptions. From this step, the stages themselves are highlighted and
documented for instance; requirements capture, system design, construction, requirement
integration, testing and deployment. This outline follows a logical flow with each subsequent
stage occurring after the successful completion of the previous one.
Pros of this method
A very simple process – the developers will always have the logical steps to follow
having identified the requirements and stages of system development.
Cost effective – its simple design facilitates a short implementation procedure that
requires minimal resources.
Accountability and good documentation – because the process is predictable, the users
can account for each step and the resources having established a development plan.
Cons
Time intensive – predictive SDLC does not allow the simultaneous execution of the
development stages which increases the overall time of system implementation.
Inflexible approach – any changes experienced cannot be accommodated into the system
design.
Predictive SDLC
To understand this methodology, we highlight the approach using a common example of the
predictive SDLC method i.e. the waterfall model. Now, the waterfall model falls a sequential
procedure during its implementation of system projects. The same model is followed by the
overall predictive approach where design stages of system development are critically outlined
before implementation and are then followed sequentially without any deviation (MIS, 2015).
Therefore, the first step is always to identify the stages of development including their specific
requirements and assumptions. From this step, the stages themselves are highlighted and
documented for instance; requirements capture, system design, construction, requirement
integration, testing and deployment. This outline follows a logical flow with each subsequent
stage occurring after the successful completion of the previous one.
Pros of this method
A very simple process – the developers will always have the logical steps to follow
having identified the requirements and stages of system development.
Cost effective – its simple design facilitates a short implementation procedure that
requires minimal resources.
Accountability and good documentation – because the process is predictable, the users
can account for each step and the resources having established a development plan.
Cons
Time intensive – predictive SDLC does not allow the simultaneous execution of the
development stages which increases the overall time of system implementation.
Inflexible approach – any changes experienced cannot be accommodated into the system
design.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
SYSTEM ANALYSIS PG 8
Adaptive approach
Again, following the same definition procedure, a common example of the approach is the
Scrum model where agility and performance flexibility are usually met. Now, unlike the
predictive approach, the adaptive approach will have a greater emphasis on user interactions as
compared to system processes or tools. Moreover, the approach will also easily respond to
changes which increase its adaptability functions (MIS, 2015). Nevertheless, the approach will
also start by defining the system’s requirements and processes which are then split into logical
implementation stages. These stages are then executed simultaneously which yields many initial
and subsidiary solutions. From here, these subsidiary solutions are integrated to form the final
solution using iterative techniques that maximize the system performance.
Pros of the approach
Time efficient – the approach maximizes the time available for performing all its role at
the same time without a sequential flow of events.
Flexible and adaptable – any changes to the system’s performance or requirements are
incorporated into the system design.
Enhanced system qualities – the adaptive approach is user centred which improves the
attributes of the final system (Warner, 2017).
Cons
Expertise - a lot of expertise is needed to implement the overall system as it split into
different logical stages.
Resource intensive – finally, the approach uses a lot of resources due to its specialization
requirements.
Adaptive approach
Again, following the same definition procedure, a common example of the approach is the
Scrum model where agility and performance flexibility are usually met. Now, unlike the
predictive approach, the adaptive approach will have a greater emphasis on user interactions as
compared to system processes or tools. Moreover, the approach will also easily respond to
changes which increase its adaptability functions (MIS, 2015). Nevertheless, the approach will
also start by defining the system’s requirements and processes which are then split into logical
implementation stages. These stages are then executed simultaneously which yields many initial
and subsidiary solutions. From here, these subsidiary solutions are integrated to form the final
solution using iterative techniques that maximize the system performance.
Pros of the approach
Time efficient – the approach maximizes the time available for performing all its role at
the same time without a sequential flow of events.
Flexible and adaptable – any changes to the system’s performance or requirements are
incorporated into the system design.
Enhanced system qualities – the adaptive approach is user centred which improves the
attributes of the final system (Warner, 2017).
Cons
Expertise - a lot of expertise is needed to implement the overall system as it split into
different logical stages.
Resource intensive – finally, the approach uses a lot of resources due to its specialization
requirements.
SYSTEM ANALYSIS PG 9
Recommendation
The adaptive approach seems to hold many benefits that the predictive approach cannot match.
For one, the adaptive approach can adapt to changes which are inevitable in any modern system
due to the advancements of technology. Secondly, the adaptive approach will optimize the
resources including time, unlike the predictive approach which will require long timeline to
implement the final solution (Isaias & Issa, 2010). Finally, the integration with cloud resources
requires an agile method that will match any variations imposed by the technology, a
functionality that can only be met by an agile approach.
Conclusion
Cloud computing is without a doubt the best solution for the problems facing the Headspace
project which requires endless storage facilities to support its medical services. Moreover, with
cloud-based solutions, the availability and accessibility of the project’s resources will be
increased which will enhance the overall system’s performance. However, at the same time, the
project must consider the security concerns of cloud computing where the control of the data is
not guaranteed. For this concern, the project must implement proper security measures including
data encryption and authentication.
Recommendation
The adaptive approach seems to hold many benefits that the predictive approach cannot match.
For one, the adaptive approach can adapt to changes which are inevitable in any modern system
due to the advancements of technology. Secondly, the adaptive approach will optimize the
resources including time, unlike the predictive approach which will require long timeline to
implement the final solution (Isaias & Issa, 2010). Finally, the integration with cloud resources
requires an agile method that will match any variations imposed by the technology, a
functionality that can only be met by an agile approach.
Conclusion
Cloud computing is without a doubt the best solution for the problems facing the Headspace
project which requires endless storage facilities to support its medical services. Moreover, with
cloud-based solutions, the availability and accessibility of the project’s resources will be
increased which will enhance the overall system’s performance. However, at the same time, the
project must consider the security concerns of cloud computing where the control of the data is
not guaranteed. For this concern, the project must implement proper security measures including
data encryption and authentication.
SYSTEM ANALYSIS PG 10
References
Council, C. S. (2017). Impact of Cloud Computing on Healthcare. Version 2.0, Retrieved 02
October, 2017, from: http://www.cloud-council.org/deliverables/CSCC-Impact-of-Cloud-
Computing-on-Healthcare.pdf.
E-cartouche. (2017). Types of User Interfaces. Cartography for Swiss Higher Education,
Retrieved 02 October, 2017, from:
http://www.e-cartouche.ch/content_reg/cartouche/ui_access/en/html/UnitGUI_UI.html.
Hassan, A. (2010). Software Architecture. CISC 322, Retrieved 02 October, 2017, from:
http://research.cs.queensu.ca/~ahmed/home/teaching/CISC322/F09/slides/
CISC322_02_Requirements.pdf.
Isaias, P., & Issa, T. (2010). Information System Development Life Cycle Models. Retrieved 28
September, 2017, from:
http://www.springer.com/cda/content/document/cda_downloaddocument/
9781461492535-c2.pdf?SGWID=0-0-45-1479416-p175478101.
Losavio, F., & Chirinos, L. (2003). Quality Characteristics for Software Architecture. JOURNAL
OF OBJECT TECHNOLOGY, Retrieved 02 October, 2017, from:
http://www.jot.fm/issues/issue_2003_03/article2.pdf.
Microsoft. (2017). Chapter 16: Quality Attributes. Design Fundamentals, Retrieved 02 October,
2017, from: https://msdn.microsoft.com/en-us/library/ee658094.aspx.
MIS. (2015). The System Development Life Cycle. Retrieved 02 October, 2017, from:
https://utexas.instructure.com/courses/1166782/files/38198507/download.
Rahman, R., Safadi, W., & Basaula, A. (2015). Functional And Non-Functional Requirements.
Retrieved 28 September, 2017, from: http://ami-2015.github.io/MyGuide/d2-final.pdf.
Reddy, G., & Reddy, U. (2013). Study of Cloud Computing in HealthCare Industry.
International Journal of Scientific & Engineering Research, Retrieved 02 October, 2017,
from: http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.404.1483&rep=rep1&type=pdf.
Viswanathan, P. (2017). Cloud Computing and Is it Really All That Beneficial? Advantages and
Disadvantages of Cloud Computing, Retrieved 02 October, 2017, from:
https://www.lifewire.com/cloud-computing-explained-2373125.
References
Council, C. S. (2017). Impact of Cloud Computing on Healthcare. Version 2.0, Retrieved 02
October, 2017, from: http://www.cloud-council.org/deliverables/CSCC-Impact-of-Cloud-
Computing-on-Healthcare.pdf.
E-cartouche. (2017). Types of User Interfaces. Cartography for Swiss Higher Education,
Retrieved 02 October, 2017, from:
http://www.e-cartouche.ch/content_reg/cartouche/ui_access/en/html/UnitGUI_UI.html.
Hassan, A. (2010). Software Architecture. CISC 322, Retrieved 02 October, 2017, from:
http://research.cs.queensu.ca/~ahmed/home/teaching/CISC322/F09/slides/
CISC322_02_Requirements.pdf.
Isaias, P., & Issa, T. (2010). Information System Development Life Cycle Models. Retrieved 28
September, 2017, from:
http://www.springer.com/cda/content/document/cda_downloaddocument/
9781461492535-c2.pdf?SGWID=0-0-45-1479416-p175478101.
Losavio, F., & Chirinos, L. (2003). Quality Characteristics for Software Architecture. JOURNAL
OF OBJECT TECHNOLOGY, Retrieved 02 October, 2017, from:
http://www.jot.fm/issues/issue_2003_03/article2.pdf.
Microsoft. (2017). Chapter 16: Quality Attributes. Design Fundamentals, Retrieved 02 October,
2017, from: https://msdn.microsoft.com/en-us/library/ee658094.aspx.
MIS. (2015). The System Development Life Cycle. Retrieved 02 October, 2017, from:
https://utexas.instructure.com/courses/1166782/files/38198507/download.
Rahman, R., Safadi, W., & Basaula, A. (2015). Functional And Non-Functional Requirements.
Retrieved 28 September, 2017, from: http://ami-2015.github.io/MyGuide/d2-final.pdf.
Reddy, G., & Reddy, U. (2013). Study of Cloud Computing in HealthCare Industry.
International Journal of Scientific & Engineering Research, Retrieved 02 October, 2017,
from: http://citeseerx.ist.psu.edu/viewdoc/download?
doi=10.1.1.404.1483&rep=rep1&type=pdf.
Viswanathan, P. (2017). Cloud Computing and Is it Really All That Beneficial? Advantages and
Disadvantages of Cloud Computing, Retrieved 02 October, 2017, from:
https://www.lifewire.com/cloud-computing-explained-2373125.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
SYSTEM ANALYSIS PG 11
Ward, S. (2017). 5 Disadvantages of Cloud Computing. The balance, Retrieved 02 October,
2017, from: https://www.thebalance.com/disadvantages-of-cloud-computing-4067218.
Warner, E. (2017). Adaptive vs. Predictive: Is the end clear? Idea, Retrieved 02 October, 2017,
from: http://www.idea.org/blog/2005/12/02/adaptive-vs-predictive-is-the-end-clear/.
Ward, S. (2017). 5 Disadvantages of Cloud Computing. The balance, Retrieved 02 October,
2017, from: https://www.thebalance.com/disadvantages-of-cloud-computing-4067218.
Warner, E. (2017). Adaptive vs. Predictive: Is the end clear? Idea, Retrieved 02 October, 2017,
from: http://www.idea.org/blog/2005/12/02/adaptive-vs-predictive-is-the-end-clear/.
1 out of 11
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.