Further InformationLearning Outcomes tested in this assessment (from the Module Descriptor):
Knowledge & Understanding:
1.
Demonstrate in-depth knowledge and understanding of current best practice in the design and
development of Object Orientated systems
Intellectual / Professional skills & abilities:
2.
3.
4.
Design a system using advanced object orientated principles and methods, such as Behavioural,
Creational and Structural design patterns, ensuring a high level of quality and data security.
Implement and test Object Orientated programmes using advanced techniques ensuring a high level
of quality and data security.
Critically evaluate the effectiveness of implemented Object Orientated applications
Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA):
5.
Demonstrate a professional understanding of the importance of software quality in the development
of applications.
Assessment Criteria/Mark Scheme:
See Appendix C for assessment criteria. Note that this work is worth 100% of the
module and that the marks total 100 marks.
Nature of the submission required:
Individual work: The individual report should be a single document, and it must be in
PDF format. You are required to upload this using Turn-it-in (ELP) as an originality
report is required. Your work must be uploaded with your name in this file so that it is
clearly your individual work and should contain your student ID as part of the
document name.
Group work: A ZIP file should be created that contains your entire Visual Studio
project, including the test project. Justifications of choices made such as patterns
used and the data access layer need to be in a PDF document called justifications.
The document should be in the root of the folder, you also need to supply a file which
contains a list of all names and student ids of the group members “group.txt”.
Each C# software component should have the names of the group members within
the comments at the top of the code. The ZIP file should also contain files for your
Design (Task 2) and Testing (Task 4) these should be in PDF format and need to be
legible (easy to read) it is your responsibility to check the PDF files are legible.
Referencing Style:
Where you have used words from someone else (quotations), they should be
correctly quoted and referenced in accordance to the Northumbria Harvard
System. You will be required to submit the report for the work via turn it in.
Cite them Right can be found here
Group work
The size of a group is two students; you are expected to form your own groups by
the end of teaching week 4. One member of each group must email the module tutor
giving the names of the group members. Anyone without a group at the beginning of
week 5 will be assigned to a group. In the rare event that a group is not working well
together it may be disbanded. The module tutor will have final say when this occurs,
It will only happen if there is sufficient documented proof that one member is not
contributing to the work, in such eventualities it will be expected that you work
individually on the assessment.
Expected size of the submission:
Expected size of written work is stated on the individual sections.
Academic Misconduct:
You must adhere to the university regulations on academic misconduct. Formal
inquiry proceedings will be instigated if there is any suspicion of misconduct or
plagiarism in your work. Refer to the University’s regulations on assessment if you
are unclear as to the meaning of these terms. The latest copy is available on the
university website. Quote or paraphrase other work with caution. Please discuss with
the module tutor if you are unsure what is expected.
Handbook of Student Regulation can be found here
Individual and Group components
Each task clearly states if the task is individual or group work. Submission of individual work
will be at the same time as group work however these will be separate submission.
Peer Assessment and Group Diary
In order to complete the group work you will need to work with another student. It is
important that you evenly distribute the work between yourselves and work effectively with
each other. You are required to keep a diary so that you log and minute all communication
and meetings. The diary will be required as part of the evidence in the portfolio.
You must also supply one peer-assessment form for each group member. This will need
to be agreed and signed by each group member. The peer assessment template is available
on the module web page. Completed forms need to be scanned or photographed and need to
be uploaded as part of your group work assessment.
If the diary and/or individual peer assessment forms are missing then the group part of this
assignment, will be capped at 50%. Based on the peer assessment form you will be able to
calculate a score of between 3 and 8 which measures your peers views of the quality of your
team work in this task. We reserve the right to consult with you and potentially change the
weightings (and in extreme cases marks) when this is felt necessary. We will not do this
before the assignment is handed in. On the form each student’s performance in the team is
graded by a number of criteria. Each criterion will be given a score of between 3 and 8. Once
all the 9 criteria have been graded the average score across the criteria for the student will be
determined. This is called Team Work Score, which will be between 3 and 8. Calculate this
by adding up the score for each of the nine criteria and then dividing by nine. Once the peer
assessment forms have been completed for all members of the group it is possible to
determine the group average. This is calculated by adding up the Team Work Scores for all
the group members and dividing the total by the number of group members. A weighting can
then be calculated by dividing the students Team Work Score by the group average. The
weighting applies to only the group component of the assessment. A student’s mark will be
determined by multiplying the group mark by the weighting. This will be calculated to the
nearest whole number
See ELP Document “Example_Peer_Assessment_Form”
Assessment Scenario
Case Study: Away-Day-Planner
Background
Away-Day-Planner (ADP) is a company that specializes in organizing away days for it clients which
are other companies. Many larger organizations have policies requiring departmental heads to
organize yearly away day, additionally some organizations require events to reward staff on
successful completion of a project. Departmental heads are often busy with the day to day running
of their department had have little time to spend on organizing away days. This is where ADP comes
in as it allows departmental heads use their specialist services to organize departmental away days.
Although ADP does have staff which can go to an away day and facilitate some activities it is often
the case that ADP is used only to organize and book an event which the client company will run their
own events at.
There are two main types of package available from ADP: the first is simply a booking service where
ADP will find and book the required facilities and services, this requires ADP to use third party
companies as local contractors. The second type requires the same bookings at the first but have an
additional component of a facilitated session. Facilitated sessions are ones where staff from ADP
attend the away day and administer an activity as part of all the day’s events.
ADP services offers clients a wide range of options, this is an attempt to try and meet the needs for
most away days, however a client may ask for additional items which are not covered in the
common list of options. For example they may specify that they wish it to take place at a sports
venue or that they want an open bar (free for their staff, bill to be settled with the company). ADP
away day service offers the necessary level of tailored flexibility in order to meet almost all the
needs of potential clients.
The following is a list of common away day options, however this list is not final can be added to in
order to meet the client needs: Conference Facilities, Bus transport to and from the away-day, MidDay Lunch, Pack lunches, Morning refreshments, Afternoon refreshments, Orientating maps (when
the away day is a walk in a national park), Evening meals.
Facilitated Activities and costs
Title
Chocolate producing and marketing
Team building outdoor problem solving
Meditation and mindfulness workshop
Wall climbing experience
Go-cart Experience
Notes
Includes prizes for winning team, requires
conference facility booking.
Includes prizes for winning team, takes
place in outdoor public space.
Participants must wear loose fitting
clothing, requires conference facility
booking.
Size limited to 30
Offered only within 30 miles of Newcastle
upon Tyne. Limited to 40 participants
Cost
£750
£850
£500
£700
£1400
Many of the services require booking with third party organizations, for example, conference
facilities, bus transport and catering or restaurants. ADP books these on behalf of the client and the
cost plus 50% (organization fee) is charged to the client.
Additional facilitated activities charges, if the client is more than two hours drive from ADP, and then
an additional charge is made so that staffs are able to stay at in a hotel and travel back the next day,
this means that staff would be unavailable for two days rather than one, so there is an additional fee
charged at 50% to the normal facilitated costs. Note there is currently only one facilitator team.
Therefore when the facilitator team is in transit they are not available for another away day.
Initial Enquiry
When a client company makes an initial enquiry a check is made to see if they are a previous client.
Any matching company details are retrieved from by the system. The details are displayed, the client
must verify the information is correct and any out of date information is updated.
New companies must register first, if it is a pre-existing company but a different department to the
one which was originally registered a new record is created from the department and the client
information will remain the same.
In order to mitigate the risks of liability, the company records all communications; this includes
emails, letters and telephone conversations. The communications data must be stored for no more
than one year after the successful completion of an away day. If there is a disagreement with the
client including possibility of legal action, then the communication will be stored for five years. At
the end of the period the communication will be weeded from the system. The weeding should be
done once a month, on the last day Friday in the month.
Communication data must be assessable relative to the data with which it relates. For example: if a
bus is required for an away-day or catering the communication with third party companies is shown
on screens related to these activities.
Selection of options
Once a company is re-register it can request an estimate for the cost of the away-day, the day of the
planned away day is recorded along with the number of attendees and information regarding the
flexibility of dates.
ADP uses third party companies to provide the series so a precise cost estimate will normally take 24
hours to complete, once the client has made an initial request. This is to allow ADP to check with
local provides for their price and availability.
The system used by an ADP operator captures the outcome of the discussion with the client
regarding the elements needed for their proposed away day. A client may ask for the price of some
of the options so that they can choose whether to include them or not. No prices are discussed at
this stage, not until the actual costs are known. As clients’ needs may vary from the list of options,
the system must also be able to add non-standard requests this may include elements such as bar,
disco event for the evening.
Diary check, for facilitated events a check is made to make sure that the facilitator team is not
already booked. If there is a check is made to see if there is flexibility on the client side. If there is no
flexibility and the facilitator team is already booked then the request is cancelled.
If the client has requested catering or evening meal then additional information must the captured
such as the type of cuisine and whether it is individual meals or a buffet.
Initial costing
The completed list is now ready for initial costing. An ADP operator uses the internet to find local
venues and third party contractors which can fulfil the client’s needs. A check is made to see it they
are available and what prices they offer. Once all the items have been checked for price and
availability a PDF document is generated by the system which has an overall cost. Any items the
client wished to know the optional costs are detailed, so that the client can choose to include them if
they have the budget. Note that the all costs include the 50% organization fee.
The form PDF is sent to the client, and they are informed that nothing is booked and that the sooner
they book the grater the change of availability and the cost remaining the same. They are warned
that costs could rise if suppliers change or it also may not be possible to offer a specific service such
as the facilitated sessions if another company commits to making a booking for the same day/s.
Booking
If the client accepts quickly it is usual that the venues and third part companies can still fulfil the
dates and prices quoted. If there is significant delay it may mean that the initial prices rise as
alternative contractors will be required. In some circumstances the client may also need to rethink
their day for example if they have a requirement that it takes place at the conference facilities at a
sporting venue. It is possible that it is no longer available. It is possible at this stage that the process
is cancelled or restarted with alternative dates.
Firstly a check is made with all the third party companies to see if they are still available on the date
first requested. If not then alternatives are found and any new costs are added to the job. Once all
activities have been rechecked the client must agree one last time to the final charge amount. Once
they have done this the books will take place on the same day.
Any third party contractors who require payment in advance are paid. Some may require a deposit
others full payment. All payments sent to third party companies must be recorded by the system.
Client Confirmation
Once booked an itinerary in PDF format is generated so that it can be sent to the client, it will also
contain information about the agreed cost and a reminder that the bill must be paid within 30 days.
If there is catering or restaurants booked an additional form is sent to the client, asking for any
specific datary requirements. This is to capture the number of vegetarians and anyone with an
allergy or food intolerance. Once completed by the client the details are stored and also sent to the
third party catering firm or restaurant. The system must be flexible enough to allow for changes to
the third party company if needed for example if one of the client employees has a severe nut or
seed allergy it may not be possible to use particular restaurant as the allergen is common the
selected cuisine.
Cancelations
When a client first registers they are automatically sent the terms and conditions. This includes the
cancellation charge policy. Cancellation charges help to protect the company from changes they may
incur from third party companies when cancelling bookings and partly to cover the cost of the time
which has been already been spent in the initial creation of the away day planning.
Cancel more than 60 days in advance – 20%
Cancel between 60 days and 30 days – 50%
Cancel between 30 days and 15 days – 75%
Cancelation under 15 days is not possible. The client will be charged 100% of the fee. No cancellation
will be made to any of the booked services offered by third party companies and the client will be
informed that the day is booked and they can use the day as planned as they will incur the full fee.
If the cancelation has taken place within the permissible period then the activities booked with third
party companies will be listed so that they can contacted and any booking can be cancelled. Note
that cancellation fees may need to be paid. These are paid immediately and recorded against the
cancellation information.
Additional Charges
ADP has been asked on occasion of offer an open bar or one which has a fixed amount of money
placed behind it. In this event the company must pay in advance either the full fixed amount or £25
per person. This must be paid 2 days before the event is due to take place.
Final Billing
The first business day after the away day, a invoice will be sent to the company. If they asked for an
open bar and have already paid the £25 per head in advance, then any differences are offset against
the final billing amount.
Recording payment and dealing with non-payment
A client company has 28 days to settle bills. Once the outstanding amount has been paid by the
client the away day will be closed on the system, an indicated profit will be shown (not including
overheads). A weekly exception report will be generated for any unpaid invoices so that the
company can be chased the client for payment. In the rare event of non-payment after sixty days
then it is usual to start legal proceedings to recover the debt, or to sell the debt to a specialist debt
recovery company. In these two eventualities the outcome choice of outcome will be recorded and
the all the correspondence data about the booking will be flagged, preventing it from being weeded
by the system. If a satisfactory outcome has been achieved, the communications data will be set for
deletion in one year from the date a satisfactory outcome was achieved.
Proposed System
The proposed system will support the entire process as outlined above. It is envisaged that
requirements may change over time and that the system will be built in a number of phases.
Task 1 Research Question (Individual Work)
30 marks
This task is an individual task and covers the following learning outcome.
1.
Demonstrate in depth knowledge and understanding of current best practice in the design and
development of Object Orientated systems
In this task requires you to carry out some research. It is important that you use a range of
quality sources and your findings and conclusions must be supported by the literature. The
mark you are awarded is based on the quality of the research carried out, and principle
conclusion you have drawn from the research you have conducted.
Many new software developments are moving away from cooperate controlled servers with
the entire application working from the cloud. Microsoft Azure is no longer just about
offering virtual machines and database storage, it now contains many development tools
such as “Visual Studio Code” and “Azure DevOps”. Additionally advanced tools such as
machine learning are also now easily realisable in the Azure package. Database
Encryption and VPNs are used to secure the cloud based applications.
The company you work for is undecided as to whether to develop their application using
these cloud services. The main worry in the company is that of data security, you must
examine and report on the data security used within the Azure cloud based applications,
and also what additional security measures that could be added into the application in
addition to that which has been provided by Azure. It is not sufficient to say that encryption
could be used. You must be specific and discuss how it would be implemented in an object
orientated system which uses Entity Framework and LINQ. You should also state any
additional pitfalls which may arise from using encryption.
References from good-quality, relevant literature must be used in order to strengthen
any points that you raise in your discussion.
Word Limit 2000
Task 2 UML Designs and OOP considerations (Group work) 10 marks
This task assesses the learning outcome.
Design a system using advanced object orientated principles and methods, such as Behavioural,
Creational and Structural design patterns, ensuring a high level of quality and data security.
Produce an implementable class diagram for the system you are developing, this should show
your final design of the software components and clearly show architectural patterns used in
the development of the system. You are expected to use Design Patterns in the creation of
you product, and you are also expected to show layering of the application, patterns should be
considered in each of the layers for example you are expected to use a presentational Patten
in the interface layer. This work should only include the requirements which you are
expecting to implement during the time-box.
(5 marks)
Justification, you must provide a justification for any of the patterns you have chosen to
implement. Outlining reasons why the choices have been made, as well as any data security
decision you have made.
(5 marks)
Task 3 Implementing the technical Solution (Group work) 20 marks
In this task the following learning outcome is assessed.
Implement and test Object Orientated programmes using advanced techniques ensuring a high level of
quality and data security.
You are not expected to try and implement the entire system. Agile methods require a subset
of requirements to be taken into a time-box for development. You can apply MoSCoW to list
of requirement, this will help you decide on what requirements you plan to implement.
However you are expected to pick requirements which work together so that you can
demonstrate a working subsection of the entire system, you should use vertical development.
You are expected to develop the application using the standard three layer model and the
domain and presentation layer should contain some of the patterns covered in the module.
A relational database must be used to store your application data. However you are expected
to create an object orientated system. Therefore you must consider how the objects link to the
database CRUD operations. It is strongly recommended that you use Entity Framework
however this is not compulsory and other data access such as ADO level 2 may be used
however a fully justification as to why should be provided.
The system must be implemented using Visual Studio 2017 C# and the application must run
on Visual studio 2017 professional in the lab. Other languages and/or platforms will receive a
mark of zero.
You may include instructions as to use which would include any valid logon details or user
details that you have created. You will be required to use a database for the development of
the application; the only condition is that the application must run in the lab.
The code is marked on the following aspects:
–
Scope Quality of technical implementation
Justification and implementation of data access layer
Task 4 Testing (Group work)
15/20
5/20
10 marks
In this task the following learning outcome is assessed.
1.
Demonstrate a professional understanding of the importance of software quality in the development
of applications.
Testing should be carried out at the unit level, making sure the component works as expected,
and at the system level using user requires (scenarios) as a basis for creating the tests. You
should be both positive and negative testing.
Visual Studio provides an inbuilt testing framework, you are expected to automate as many
of the tests as possible using the inbuilt unit testing framework. If you have used decency
injection/mock objects to isolate classes you should make this clear in your strategy.
Task 5 Evaluation of the development process (Individual Work)
15 marks
In this task the following learning outcome is assessed.
1.
2.
Critically evaluate the effectiveness of implemented Object Orientated applications
Demonstrate a professional understanding of the importance of software quality in the development
of applications.
Many iterative methodologies incorporate an evaluation step at the end of each development
time-box. The purpose is to reflectively evaluate the development increment so that lessons
can be learned, and improve the development process in future increments. In this section
you are required to critically evaluate development process and the tools used.
•
•
•
Critically evaluate the approach you used in selecting what requirements in implement in
the development time box, you should consider the logical grouping of the functionality and
if you choose to many or two few requirements to implement.
Teamwork, you need to critically evaluative how you’re team worked together in producing
the technical solution. If any problems occurred they should be listed as well as any attempt
to reach a resolution.
Tool evaluation: Critically Evaluate: the development environment, database chosen and the
use of testing tools in the development of the system.
Approximately 700 words
Task 6 Evaluation of the technical solution (Individual Work)
15 marks
In this task the following learning outcome is assessed.
1.
Critically evaluate the effectiveness of implemented Object Orientated applications
Critically evaluate the Design and Implementation in relation to the object orientated
principles covered in the module. You must consider the patterns you have used and discuss
if they were effective and also discuss any patterns you have not implemented but believe to
be relevant.
Critically evaluate your application in terms of security. Where you have identified a problem
or shortcoming in the application, you should discuss technical solution needed to mitigate
the problem. If you did the directed work regarding password security you should evaluate
the solution you have or wish to apply to the scenario, and comment on the usefulness of the
literature you found regarding password security.
Word limit: 1000.
APPENDIX C
Marking criteria
Task 1 Research Question (Individual Work)
marks
30
The criteria used for marking will include:
–
The quality and scope of the literature survey.
The principle arguments and conclusions of the work undertaken.
Grade
Criteria
70-100 %
The question will have been very well considered in terms its broad
implications. Overall the work is concise complete and detailed,
arguments and collusions made are well presented and backed up by
literature.
50-69 %
Work lacks some degree of scope, question has only been partially
considered or it lacks the depth in its answer. Work may lack
references or arguments and collusions are not backed fully backed up
by literature.
0-49 %
Work failed to address the question with any degree of depth or the
work lacks sufficient references. Failure to reach a collusion based on
rational reached arguments.
Task 2 UML Designs and OOP considerations (Group work)
10 marks
Implementable Class Diagram showing patterns and layers
5 marks
Justification of the patterns used or their absence
5 marks
Grade
Criteria
70-100 %
Diagrams are complete and are implementable. Patterns are clearly
visible and are accompanied by a narrative which clearly states why
they are being applied. Students are expected to show application split
in two at least three layers.
50-69%
Diagrams contains flaws which would affect the implementation.
Patterns may not be well considered and the narrative explaining the
rational lacks depth. The application layers are not clearly defined.
0-49 %
Diagrams are incomplete or non-implementable and or the
consideration of pattern is either missing or is poor.
Task 3 Implementing the technical Solution (Group work)
20 marks
The criteria used for marking will include:
–
scope Quality of technical implementation
Justification and implementation of data access layer
15/20
5/20
Grade
Criteria
70-100 %
A reasonable set of requirements are implemented given the time
frame. Importantly the scope of requirements should not be at the cost
to the quality. The system must demonstrate sound engineering
principles such as the use of patterns in the all three layers of the
application. Presentation layer should use a pattern to separate
responsibilities or presentation and control. The system works with
objects and is not data focused (object persistence in the database).
Patterns need to be also evident in the domain layer.
50-69%
Quality of the application and/or the engineering has problems such as
failure to consider patterns in the presentation and data access layer.
0-49 %
Scope and or quality of allocation are poor. There is little consideration
of the implementation of patterns.
Task 4 Testing (Group work)
10 marks
The criteria used for marking will include:
–
Grade
Test plan based on user requirements both negative and positive testing’s
Tool based unit testing also with test plan.
Criteria
70-100 %
Testing needs to be positive and negative in nature. Tests must be at a
unit and systems level, fully documented and unit level should be fully
implemented in Visual Studio in built test suite.
50-69%
Scope of the testing is incomplete this may be due to poor choices of
presentation pattern or a lack of scope in the tests chosen.
0-49 %
Testing in incomplete or missing.
Task 6 Evaluation of the development process (Individual Work)
15 marks
Required items to evaluate
•
•
•
Critically evaluate selecting requirement.
Teamwork
Tool evaluation
Grade
Criteria
70-100 %
Requirements, teamwork and tools have been critically evaluated and
the work contains good arguments and reflections that would help to
inform future iterations of the development. If there have been
problems with the teamwork then a reflection as to why it occurred
and what could be done to resolve such problems at an early stage
should be discussed.
50-69%
All aspects have been evaluated however the evaluation lacks the
necessary depth needed to inform further iterations.
0-49 %
Evaluation missing key elements or no real attempt to evaluate the
work in detail.
Task 7 Evaluation of the technical solution (Individual Work)
15 marks
Required items to evaluate
Design and Implementation in relation OO (patterns and principles).
Application Security including solutions to identified weaknesses. .
Grade
Criteria
70-100 %
Overall an excellent evaluation of the technical solution, Identification
and reflection of the weaknesses, as well and the achievements. This
must include the OO considerations such where patterns were used to
good effect or missing or incorrectly used. Security must be discussed
including what needs to be protected via encryption
50-69%
Satisfactory evaluation lacks some important items or lacks depth
especially in offering alternatives or identification of weaknesses.
Security evaluation has weaknesses in scope or type of security being
recommended.
0-49 %
Evaluation missing key elements and/or alternatives.
EVALUATION OF THE TECHNICAL SOLUTION
Classes, Objects and UML Diagrams
The application has been divided into modules that facilitate for the separation of
concerns and the protection of data through encapsulation. The models used in the application
are used to represent the interaction of various entities in the application and how they share and
store data. The following are the class diagrams of the application’s major components.
Application User
Roles
Claims
Logins
The Application User Class
Author
First Name
Last Name
Blurb
Biography
ImageLink
Blog Posts
The Author Class
Blog Post
Author Id
Author
Title
Description
Content
Created At
Modified At
Published On
Public
Blog Post Category
Blog Post Topic
Image
Comments
The Blog Post Class Diagram
Category
Name
Description
Blog Posts
The Category Class Diagram
Inheritance
In object oriented programming, inheritance is hen a class or classes gets data and
functions from a parent class. This enables a mechanism where a general class can give other
classes generic characteristics and behavior. This enables object oriented software to be
extensible and saves the amount of code written. An example of inheritance as used in the
application is demonstrated below.
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Threading.Tasks;
Microsoft.EntityFrameworkCore;
System.ComponentModel.DataAnnotations;
System.ComponentModel.DataAnnotations.Schema;
namespace Bagombo.Models
{
public class Author
{
public long Id { get; set; }
public string ApplicationUserId { get; set; }
[NotMapped]
public ApplicationUser ApplicationUser { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public string Blurb { get; set; }
public string Biography { get; set; }
public string ImageLink { get; set; }
public virtual ICollection BlogPosts { get; set; }
}
}
The above code snippet shows the authors class extending the Application User Parent Class.
Inheritance can be depicted in a UML diagram as follows:
Application User
Roles
Claims
Logins
Author
First Name
Last Name
Blurb
Biography
ImageLink
Blog Posts
Model View Controller Design Pattern
This is a design approach that dictates that an application should consist of a data model,
control specifications and presentation information. Each of this components should exist as
separate objects. The model view control pattern deals with how the user interface layer of the
application. It is however noteworthy that the business, service and data access layer are also
essential.
In the MVC pattern, the models are meant to contain only application data. Logic on how
to present and or process the data is not available in this components. The view layer is meant to
present the data models to the user. The purpose of the view components is only to present the
application’s data without processing. The controller model acts as an intermediary between the
model and the view. The control model is triggered by events in the view model and executes the
appropriate responses to such triggers. This approach allows for a modular application that is
easy to maintain and extend.
Patterns not used but are relevant
Application Testing and Security
Unit and feature tests were used to ensure that the application works as expected. Unit
tests are used to test the smallest unit of an application, usually a function, and ensure that it
performs within the expected parameters. Feature tests are used to carry out tests on various
features to check if they are as expected. The following is an excerpt of the feature test as carried
out in the application:
var optionsBuilder = new
DbContextOptionsBuilder().UseInMemoryDatabase(databaseName:
Guid.NewGuid().ToString()).Options;
BlogDbContext db = new BlogDbContext(optionsBuilder);
Author authorTest = new Author()
{
ApplicationUserId = Guid.NewGuid().ToString(),
FirstName = “John”,
LastName = “Smith”,
Biography = “Born somewhere, someday.”
};
db.Authors.Add(authorTest);
db.SaveChanges();
var x = (from author in db.Authors
select author).FirstOrDefault();
Assert.NotNull(x);
Assert.Equal(x.FirstName, authorTest.FirstName);
Assert.Equal(x.LastName, authorTest.LastName);
Assert.Equal(x.Biography, authorTest.Biography);
BlogPost bp = new BlogPost()
{
Author = authorTest,
Title = “Hello”,
Content = “Content”,
Description = “Description”,
CreatedAt = DateTime.Now,
Public = true,
PublishOn = DateTime.Now,
ModifiedAt = DateTime.Now,
};
db.BlogPosts.Add(bp);
db.SaveChanges();
var y = db.BlogPosts.Include(b => b.Author).Select(b =>
b).FirstOrDefault();
Assert.Equal(y.Author.FirstName, authorTest.FirstName);
var catList = new List()
{
new Category()
{
Name = “Cat1”
},
new Category()
{
Name = “Cat2”
}
};
db.Categories.AddRange(catList);
var bpcList = new List()
{
new BlogPostCategory()
{
BlogPost = bp,
Category = catList[0]
},
new BlogPostCategory()
{
BlogPost = bp,
Category = catList[1]
}
};
db.BlogPostCategory.AddRange(bpcList);
db.SaveChanges();
var featureList = new List()
{
new Topic()
{
Title = “Feature 1”
},
new Topic()
{
Title = “Feature 2”
}
};
db.Topics.AddRange(featureList);
db.SaveChanges();
var bpfList = new List()
{
new BlogPostTopic()
{
BlogPost = bp,
Topic = featureList[0]
},
new BlogPostTopic()
{
BlogPost = bp,
Topic =featureList[1]
}
};
db.BlogPostTopic.AddRange(bpfList);
db.SaveChanges();
var bpTest = db.BlogPosts
.Include(b => b.Author)
.Include(b => b.BlogPostTopic)
.ThenInclude(bbpf => bbpf.Topic)
.Include(b => b.BlogPostCategory)
.ThenInclude(bbpc => bbpc.Category)
.Select(b => b)
.FirstOrDefault();
Assert.Equal(2, bpTest.BlogPostTopic.Select(bpf => bpf.Topic).Count());
Assert.Equal(2, bpTest.BlogPostCategory.Select(bpc =>
bpc.Category).Count());
Assert.Equal(bpTest.Author.FirstName, authorTest.FirstName);
}
}
}
The application uses .NET native security features such as user and token authentication to
ensure user and data security.
Evaluation of the technical solution with respect to the Away Day Planner case scenario
Usefulness of the literature in task 1
Design and Development of Object Orientated Systems
Name
Course
Instructor
Institution
City and State
Date
Away Day Planner 2
Table of Contents
Virtual machines ……………………………………………………………………………………………………………………….. 3
Database storage ……………………………………………………………………………………………………………………….. 4
Microsoft Azure Visual Studio Code …………………………………………………………………………………………… 5
Capabilities of Microsoft Azure ………………………………………………………………………………………………. 5
Virtual machines ………………………………………………………………………………………………………………… 5
SQL storage ……………………………………………………………………………………………………………………….. 5
Domain services for active domains …………………………………………………………………………………….. 6
Applications ……………………………………………………………………………………………………………………….. 6
Team services for Visual Studio ………………………………………………………………………………………….. 6
Storage ………………………………………………………………………………………………………………………………. 6
Microsoft Azure DevOps ……………………………………………………………………………………………………………. 6
Machine learning in Microsoft Azure …………………………………………………………………………………………. 8
Information security in Microsoft Azure …………………………………………………………………………………….. 8
Database encryption in Azure…………………………………………………………………………………………………. 8
Virtual Private Networks in Microsoft Azure ………………………………………………………………………….. 9
Recommendation for Azure ……………………………………………………………………………………………………….. 9
Implementation of recommendation for Azure………………………………………………………………………. 10
Disadvantages of encryption …………………………………………………………………………………………………….. 10
References ……………………………………………………………………………………………………………………………….. 11
Away Day Planner 3
TASK 1
Virtual machines
In a computing environment, there is the aspect of the host and the guest which in this
case a virtual machine refers to the guest whereas the computing environment is referred to as
the host. A virtual machine is comprised of vital files such as the configuration file, log file,
virtual disk file and the NVRAM setting file. A virtual machine has the characteristics of
physical computers whereby they also have operating systems and have the capacity of running
applications (Vemulapalli, Tran and Behzadi, 2016). The concept of virtual machines is laid on
the basis that although the machines have the same characteristics as physical computers, they
depend on them to run. Virtual machines are important in the field of software engineering
because they make it possible to carry out functions or tasks that would otherwise be considered
risky when carried out in host environments. Some of these operations include testing of
operating systems and the access of data that is infected with viruses. Virtual machines are
considered to be separate entities from the system because they are sandboxed and therefore
activities that take place within the virtual system does not affect the hosting environment (Curzi,
and Ryan, 2016). There are two kinds of virtual machines namely system and process virtual
machines. System virtual machines allows for virtual machines to access and share the physical
resources of the computer/host environment. Process virtual machines facilitate the execution of
computer programs in an independent platform that is sandboxed within the host environment
(Archer, Blocksome, Carey and Sanders, 2019). It is through process virtual machines that
masking of information is facilitated. It is important to note that more than one virtual machine
can run on the same host environment.
Away Day Planner 4
Database storage
Database storage refers to the technology utilized in the storage of media files,
information, images and texts which implies that there is need for space to be available. Crucial
information is stored in databases to ensure that resources are not wasted whereby important
information such as personal user information, connections, contact information, and
transactional information among other forms of information (Wagner et al., 2017). It is vital to
ensure that information stored in databases meets the demands and SLAs of the organization by
ensuring that it is not only predictable but also consistent. The most important aspects when
considering the storage of information are capacity and performance requirements for the
system. It is crucial to ensure that proper planning is incorporated in the processes of
maintenance, architecting and deployment of traditional storage (Van Aken, Pavlo, Gordon and
Zhang, 2017). Unlike traditional ways of storing data, database storage offers more advanced
technologies that offer protection of data through all-flask data storage. The result of this is that
optimal storage performance and capacity s achieved through database storage. It is common for
database administrators to find themselves in positions where they need to make copies of
databases which may lead to inefficiencies due to reduction in production workloads (Dell,
2019). Technologies such as Microsoft Azure helps to eliminate this problem because it enables
database administrators to prepare copies only when they are required. This helps to eliminate
limitations presented by relational database management systems such as Object-Oriented
architecture and unstructured data. Through Microsoft Azure and other modern databases,
database administrators can consolidate production and non-production environments which
facilitates the acceleration of processes involved in the development of agile applications.
Away Day Planner 5
Microsoft Azure Visual Studio Code
Azure is Microsoft’s cloud platform that allows the management of applications and
services as well as deploying and building them regardless of where the user is located across the
globe. It allows the user to create a network on the cloud where capabilities can be added as
desired or as required. Microsoft Azure offers various models that enable different functionalities
for users for instance. The platform incorporates the Infrastructure as a Service (IaaS) enables
Microsoft to handle all the network and computing requirements of the user with permission of
course from the user. The Platform as a Service (PaaS) is suitable for users with high level
technical expertise because it allows users to manage their network and computation needs
(Shrivastava, Sondhi and Kumar, 2017). However, it is important to note that regardless of the as
a Service chosen, they all offer data reliability of data access as well as security.
Capabilities of Microsoft Azure
Azure maintains an extensive number of services that are continuously being updated on
a daily basis thereby appreciating the essence of scalability. Azure offers all elements that are
required to deliver applications or services as well as building virtual networks (Pohekari, Patel
and Shrivastava, 2017).
Virtual machines
Azure makes it possible to create virtual machines in both Windows and Linux operating
systems and also provides users with a wide variety of templates (Harfoushi, 2018). The platform
also allows users to customize the virtual machines according to their preferences.
SQL storage
Azure is fitted with the capacity of offering relational SQL databases which are very
useful in facilitating cost reduction. With Azure, it becomes cheaper for users to cut down on
Away Day Planner 6
software and hardware cost and also the level of expertise required to manage cloud computing
(Klein, 2017).
Domain services for active domains
Domain services offered by Azure are similar to those offered by the Windows Active
Directory and enable users to manage domain services remotely (Etaati, 2019). Some of the
elements that can be managed remotely include authentication and group policies.
Applications
The platform has a Marketplace and WebApps that facilitate the development and
deployment of applications that can run on portable devices as well as on the web. These
application services makes it possible to produce, test and deploy web applications (Etaati,
2019). This is a crucial element to business such as the case of the Away Day Planner.
Team services for Visual Studio
This is offered in the form of an add-on which allows software developers to join the
global community of software engineers. Team services make it possible to collaborate, share
changes in codes, track changes in codes, deliver applications as well as testing of applications.
Storage
Microsoft Azure provides excellent, safe and easily accessible storage for data in the
cloud community. Azure has a user-friendly pricing structure that incorporates scalability.
Microsoft Azure DevOps
DevOps is Microsoft Azure’s platform that combines both software engineering
development and operations that unites technologies, developers and processes with the aim of
enhancing customer experience through improved service offering. Enhanced products are
Away Day Planner 7
facilitated by the fact that DevOps facilitates collaboration and coordination of developers, IT
specialists and software engineers. It helps in building teams that are more efficient thereby
making it possible to achieve organizational goals. DevOps offers users with an application
lifecycle phases that facilitate easy development, deployment and management of applications.
Figure 1: DevOps application cycle
Through standardized practices and tools, DevOps makes it possible to integrate various
elements that include version control, agile software development, and infrastructure as code,
configuration management and continuous monitoring. Azure facilitates efficient cloud
computing through a variety of tools that developers have to choose from. Executing tasks in the
cloud community is easily facilitated by aspects such as Cloud agility, Kubernetes and Serverless
computing facilitated by Microsoft DevOps. All these are facilitated by tools such as Azure
Pipelines, Azure Boards, Azure Artifacts, Azure Repos and Azure Test Plans.
Away Day Planner 8
Machine learning in Microsoft Azure
Machine learning is a field in computer science that involves artificial intelligence
whereby computer machines are capable of learning from environments characterized by
information collected from various sources. With machine learning technology, data scientists
are able to develop machines that do not require explicit programming and learn from data which
enables the forecasting of trends, future behaviors and outcomes. Microsoft Azure has several
machine learning tools that enable the management of machine learning workflows. These tools
include the Azure Machine Learning designer, Jupyter notebooks, Visual Studio Code extension,
Machine Learning CLI and Open-source frameworks (Microsoft Azure, 2019).
Information security in Microsoft Azure
Azure offers multi-layered security applicable in operations, physical datacenters and
infrastructure. The Azure platform integrates security controls in both firmware and hardware
components in addition to protections like DDoS.
Database encryption in Azure
Microsoft Azure offers security of information depending on the nature of the data
whereby there are two categories of data namely data at rest and in-transit data. Data at rest
refers to the type of data that is stored in the platform’s storage whereas in-transit data refers to
data that is moving across either networks or storage devices. In-transit data can be referred to as
data in motion. In the case of data at rest, there are various tools/solutions offered by Azure.
They include table storage, disk, file and blob storage solutions. Protection is also offered for
Azure Data Lake, Azure SQL Database and Cosmos DB. Data encryption for information at rest
is offered by Azure in all data security models especially Service as a Service (SaaS) and
Platform as a Service (PaaS). In the case of data that is moving from one location to another,
Away Day Planner 9
Azure offers data security solutions such as SSL and TLS encryption, Shared Access Signatures
and SMB encryption (Microsoft Azure, 2018).
Virtual Private Networks in Microsoft Azure
Azure offers encryption for Virtual Private Networks to ensure that data is kept safe as it
moves across networks. It ensures that data is kept private and cannot be accessed by
unauthorized persons. Using various Azure tools, the platform manages to encrypt data and
safeguard information. VPN encryption is facilitated by Azure gateways, point-to-site and siteto-site virtual private networks. Azure’s IPsec offers transport protection in the case data moving
from site to site while the Secure Socket Tunneling Protocol (STTP) is used to protect data
moving from point-to site. For data that is moving from one site to another, it is also crucial to
ensure that this form of transit data is also secured. In this case, Azure offers three main types of
solutions/tools namely Azure CLI, Azure Portal and Powershell (Microsoft Azure, 2018).
Recommendation for Azure
Since LINQ and Entity Framework platforms do not easily incorporate with encryption, it
is essential to ensure that this aspect is put into consideration. Although Microsoft Azure may
use encryption to keep data safe when it is stored, the challenge is presented when the user is
trying to access the data. For this purpose, it is recommended that the Azure cloud service should
be complimented with another program such as Perimeter 81. Perimeter 81 makes it possible to
secure the entire Azure environment (Perimeter 81, 2020). With perimeter 81, the user is in a
position to take care of the security needs of their network concerning access control and also
perimeter 81 facilitates easy deployment of private servers.
Away Day Planner 10
Implementation of recommendation for Azure
Implementing the recommendation is an easy process because perimeter 81 is designed
for the Azure environment. Therefore, the deployment, management and auditing of the Azure
network are simplified when Perimeter 81 is utilized.
Disadvantages of encryption
Encryption takes the form of using either public or private keys and since the primary
concern is when data is being used in cloud settings, it is essential to address the pitfalls of using
public keys. When using public keys, there are a lot of sophisticated computation processes
required to both encrypt and decrypt data (Lozupone, 2018). It implies that high computational
performance is required and therefore more computer resources are required and therefore the
computer may become slow. There is also the aspect of direct compromise whereby
technological advancement are leading to the designing of modern computers that have high
computational capacities (Hussin, Azizan, Ali and Albreem, 2017). This also leads to the aspect
of false sense of security. Hackers are increasingly becoming advanced and are finding new
ways of accessing protected data and therefore encryption technologies need to be updated at all
times which translates to high costs.
Away Day Planner 11
References
Archer, C.J., Blocksome, M.A., Carey, J.E. and Sanders, P.J., International Business Machines
Corp, 2019. Administering virtual machines in a distributed computing environment. U.S.
Patent 10,255,098.
Curzi, F. and Ryan, M., International Business Machines Corp, 2016. Effective migration and
upgrade of virtual machines in cloud environments. U.S. Patent 9,459,856.
Dell (2019). Database Storage. [online] Dell Technologies. Available at:
https://www.dellemc.com/en-us/glossary/database-storage.htm [Accessed 5 Jan. 2020].
Etaati, L., 2019. Azure Machine Learning (ML) Workbench. In Machine Learning with
Microsoft Technologies (pp. 247-265). Apress, Berkeley, CA.
Etaati, L., 2019. Overview of Microsoft Machine Learning Tools. In Machine Learning with
Microsoft Technologies (pp. 355-358). Apress, Berkeley, CA.
Harfoushi, O., 2018. Amazon Machine Learning vs. Microsoft Azure Machine Learning as
Platforms for Sentiment Analysis. International Journal of Advanced Science and
Technology, 118(1), pp.131-142.
Hussin, N.H., Azizan, M.M., Ali, A. and Albreem, M.A.M., 2017, September. Comparison of
encryption techniques between chaos theory and password for wireless power transfer
system: A review. In AIP Conference Proceedings (Vol. 1885, No. 1, p. 020240). AIP
Publishing.
Klein, S., 2017. Azure machine learning. In IoT Solutions in Microsoft’s Azure IoT Suite (pp.
227-252). Apress, Berkeley, CA.
Lozupone, V., 2018. Analyze encryption and public key infrastructure (PKI). International
Journal of Information Management, 38(1), pp.42-44.
Away Day Planner 12
Microsoft Azure (2019). What is Azure Machine Learning. [online] Docs.microsoft.com.
Available at: https://docs.microsoft.com/en-us/azure/machine-learning/overview-what-isazure-ml [Accessed 5 Jan. 2020].
Microsoft Azure, 2018. Azure encryption overview. [online] Microsoft Azure. Available at:
https://docs.microsoft.com/en-us/azure/security/fundamentals/encryption-overview
[Accessed 3 Jan. 2020].
Perimeter 81 (2020). Secure Microsoft Azure with Perimeter 81. [online] Perimeter 81. Available
at: https://www.perimeter81.com/solutions/integrations/microsoftazure?accountid=2597329217&utm_source=google&utm_medium=cpc&utm_campaign
=6450837811&utm_adgroup=85842880525&utm_feeditem=&utm_target=kwd27706683092&utm_phylocation=1009824&utm_matchtype=b&utm_network=g&utm_d
evice=c&utm_creative=408570780160&utm_term=%2Bazure%20%2Bsecurity&utm_ad
position=&utm_content=non_branded&gclid=Cj0KCQiAr8bwBRD4ARIsAHa4YyKlg5
4t3SLNr-CUAi6c_dmItt9HvSgFrtdQlCerh-9LCZN_a26-dgEaAuLcEALw_wcB
[Accessed 5 Jan. 2020].
Pohekari, R., Patel, V. and Shrivastava, A., 2017. Cyber Attack Detection and Classification
Using Mahcine Learning Technique Using Microsoft Azure Cloud. International
Research Journal of Engineering and Applied Sciences.
Shrivastava, A., Sondhi, J. and Kumar, B., 2017. Machine Learning Technique for Product
Classification in E-Commerce Data using Microsoft Azure Cloud.
Van Aken, D., Pavlo, A., Gordon, G.J. and Zhang, B., 2017, May. Automatic database
management system tuning through large-scale machine learning. In Proceedings of the
2017 ACM International Conference on Management of Data (pp. 1009-1024). ACM.
Away Day Planner 13
Vemulapalli, E., Tran, T. and Behzadi, H., Oracle International Corp, 2016. Managing virtual
machines. U.S. Patent 9,448,852.
Wagner, J., Rasin, A., Glavic, B., Heart, K., Furst, J., Bressan, L. and Grier, J., 2017. Carving
database storage to detect and trace security breaches. Digital Investigation, 22, pp.S127S136.
Task 5 Evaluation of the development process (Individual Work)
marks (700 words)
15
1. Critically evaluate the approach you used in selecting the requirements to implement and in
the development of the timebox
Consider the logical grouping
2. Consider teamwork
Level of collaboration to come up with the technical solution
Challenges encountered and resolutions made
3. Evaluate the tool
Consider the development environment
Database chosen
The use of testing tools while developing the system
EVALUATION OF THE TECHNICAL SOLUTION
Task 6 Evaluation of the technical solution (Individual Work)
15 marks (1000 words)
1. Critically evaluate the design and implementation with respect to the object oriented
principles
Consider the patterns used and their effectiveness
Consider the patterns you have not used but believe are relevant
2. Critically evaluate the application in terms of security
Discuss technical solutions required to solve identified problems in the application
Evaluate the technical solution with regard to the Away Day Planner case scenario
Comment on the usefulness of the literature used in task 1
EVALUATION OF THE TECHNICAL SOLUTION
Task 6 Evaluation of the technical solution (Individual Work)
15 marks (1000 words)
1. Critically evaluate the design and implementation with respect to the object oriented
principles
Consider the patterns used and their effectiveness
Consider the patterns you have not used but believe are relevant
2. Critically evaluate the application in terms of security
Discuss technical solutions required to solve identified problems in the application
Evaluate the technical solution with regard to the Away Day Planner case scenario
Comment on the usefulness of the literature used in task 1
Task 5 Evaluation of the development process (Individual Work)
marks (700 words)
15
1. Critically evaluate the approach you used in selecting the requirements to implement and in
the development of the timebox
Consider the logical grouping
2. Consider teamwork
Level of collaboration to come up with the technical solution
Challenges encountered and resolutions made
3. Evaluate the tool
Consider the development environment
Database chosen
The use of testing tools while developing the system
Faculty of CEM – Course work Specification 2019/20
Assignment 2: Modelling
Module name:
Systems Analysis and Design
Module code:
IMAT5205
Title of the Assignment:
Assignment 2 – Modelling
Summative
This coursework item is:
No
This summative coursework will be marked anonymously
The learning outcomes that are assessed by this coursework are: Please see Page 3.
Individual
This coursework is:
This coursework constitutes 60% of the overall module mark.
Date Set:
1st October 2019
Date & Time Due:
10th January 2020 16:00
Marked coursework and feedback will be available to you on:
7th February 2020
If for any reason this is not forthcoming by the due date your module
leader will let you know why and when it can be expected. The Head
of Studies (headofstudies-tec@dmu.ac.uk) should be informed of any
issues relating to the return of marked coursework and feedback.
(feedback and marks on
mark sheet)
note: All marks and grades are provisional until moderation is
complete and confirmed by the relevant Assessment Board and may
change.
When completed you are required to submit your coursework to:
Turnitin (Online Submission) ONLY
Late submission of coursework policy:
Late submissions will be processed in accordance with current University regulations which state:
“the time period during which a student may submit a piece of work late without authorisation and
have the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted
unauthorised more than 14 calendar days after the original submission date will receive a mark of
0%. These regulations apply to a student’s first attempt at coursework. Work submitted late without
authorisation which constitutes reassessment of a previously failed piece of coursework will always
receive a mark of 0%.”
Academic Offences and Bad Academic Practices:
These include plagiarism, cheating, collusion, copying work and reuse of your own work, poor
referencing or the passing off of somebody else’s ideas as your own. If you are in any doubt about
what constitutes an academic offence or bad academic practice you must check with your tutor.
Further information and details of how DSU can support you, if needed, is available at:
http://www.dmu.ac.uk/dmu-students/the-student-gateway/academic-support-office/academicoffences.aspx and
http://www.dmu.ac.uk/dmu-students/the-student-gateway/academic-support-office/bad-academicpractice.aspx
Tasks to be undertaken:
Explained in assignment brief.
Deliverables to be submitted for assessment:
Explained in assignment brief.
IMAT5205
Modelling Assignment
1
How the work will be marked:
Explained in the assignment brief.
Module leader/tutor name:
Dr. Laleh Kasraian
Contact details:
laleh.kasraian@dmu.ac.uk
IMAT5205 Systems Analysis and Design
Coursework 2019/20
Assignment 2 – Modelling Assignment
Deadline
Friday 10th January 2020; 16:00 via Turnitin UK
(Part-time students may be permitted to make other arrangements – if this time is a problem,
contact your CEM Advice Centre for further advice.)
Summary of Assignment
Based on a Case Study, students are expected to draw and discuss: an Analysis Class Diagram, a
Communication Diagram, and a Sequence Diagram. Students are also expected to discuss and evaluate
the usefulness of UML diagrams and a CASE tool during analysis and design.
Diagrams should be created in Enterprise Architect and inserted into a Word or PDF file to accompany
the discursive aspect of the assignment.
University policies on late submission of coursework and plagiarism will be strictly adhered to for
this assignment.
This is an individual assignment. This part of the coursework represents 60% of the module mark.
The marking schemes indicate how marks are given for each aspect of the work.
Learning Outcomes (from module template)
1 Have a comprehensive understanding of the role of the systems analyst/ designer, the context in
which the systems development activity takes place and the professional standards that are applied
to the activity.
2 Apply up to date structured techniques to produce analysis and/or design models for a given case
study problem
IMAT5205
Modelling Assignment
2
Assignment Detail – Tasks
Based on the Wide World Tour Management System (attached as Appendix A), complete the following
tasks:
Part 1. Use Case Realisation for the ‘Record New Tour’ Use Case
Analysis Class Diagram
a) In your own words, briefly describe what is meant by an Analysis Class Diagram, and how
class diagrams can be useful in systems analysis and design (100 words approx.).
b) Draw an Analysis Class Diagram for the ‘Record New Tour’ Use Case, using the Use Case
description given. This should include all required boundary, control and entity classes
with their associations and attributes. Your diagram should be drawn using the Enterprise
Architect software and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your
reasons for making those (150 words approx.).
Communication Diagram
a) In your own words, briefly describe what is modelled in a Communication Diagram, and
how Communication Diagrams can be useful in systems analysis and design (100 words
approx.).
b) Draw a Communication Diagram for the use case in your diagram that corresponds most
closely to the use case ‘Record New Tour’, using the Use Case description given. This
should include all control, boundary and entity objects involved in the scenario and
sufficient detail of the messages to show that the interaction is feasible and would meet
the system requirements. Your diagram should be drawn using the Enterprise Architect
software and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your
reasons for making those (150 words approx.).
Part 2. Sequence Diagram
a) In your own words, briefly describe what is modelled in a Sequence Diagram, and how
Sequence Diagrams can be useful in systems analysis and design (100 words approx.).
b) Draw a Sequence Diagram for the use case in your diagram that corresponds most closely
to the use case ‘Record New Tour’. This should include all control, boundary and entity
objects involved in the scenario and the sequence of interactions that take place in order
to meet the system requirements. Your diagram should be drawn using the Enterprise
Architect software, and copied and inserted as a picture into your document.
c) Write a brief summary of the decisions made whilst drawing the diagram, and your
reasons for making those (150 words approx.).
Part 3. Evaluation
Enterprise Architect is a CASE tool. In your own words and using examples, briefly describe
what a CASE tool offers during analysis of the World-Wide Tours scenario, and what tasks
the CASE tool supports. Give your own evaluation of how the role of an analyst/designer is
supported by a CASE tool. Discuss how UML modelling supports the analyst/designer (750
words approx.).
IMAT5205
Modelling Assignment
3
APPENDIX A
Wide World Coach Tours:
Wide World Tour Management System (TMS)
Wide World Coach Tours operates coach tours of varying durations, mostly in the UK but also to
European cities. The company operates a fleet of coaches and maintains a list of associates as drivers
and as tour leaders; most but not all associates are self-employed. Administrative staff and booking
agents are employed by Wide World, as are the managers of the 20 branches throughout the UK. Wide
World publishes tour information on their website and in brochures which are sent to places like
libraries as well as to previous customers and in response to requests. Bookings can be made online
or in the branches, or by post to the company’s headquarters.
There are existing systems to deal with scheduling of drivers and coaches once a tour has been
organised and booking numbers are known, and to handle enquiries and bookings for places on coach
tours. There is a simple database which stores tour information, for use within the website, but it will
need to be expanded. Tour leaders currently plan their tours offline and input outline information,
enough to support website enquiries and bookings, but there is increasing need for tour leaders to be
able to plan their tours interactively within the system, with better access to up-to-date lists of venues
and hotels where discounts have been negotiated. Better information would also help branch and
customer service staff when answering booking enquiries. Wide World has concluded that it is time
for a new system to work alongside the existing systems.
Tours can take one of several formats. In the UK, tours are offered for one day, three days or one
week. Tours to European cities are available for seven or ten days. Daytrips last one day, although
some daytrips involve early starts and late finishes; the price for a daytrip includes the coach fare, a
visit to a venue such as stately homes or museums, and a meal at a suitable café or restaurant;
sometimes the meal is at the main venue. Some daytrips include more than one venue. Daytrips longer
than six hours also include a coffee or tea break. Longer trips include visits to a number of major
venues, meals and overnight stays in 3-star hotels or inns. Tours to Europe also include any ferry or
train fares and charges.
Daytrips are led by the tour leader and typically include one driver. Longer trips, however, are led by
the tour leader together with one or two other tour guides; these trips sometimes include two drivers.
At present, most of the costing details for a tour are handled in a set of spreadsheets but the new
system is intended to incorporate this information and do away with the need for separate
spreadsheets. Finance reports will be required, to help with managing tour costs (expenses) and
booking receipts (income).
IMAT5205
Modelling Assignment
4
Functional Requirements
The main users will be:
Tours Manager – has overall responsibility and can carry out any Tour Leader’s duties in their
absence.
Tour Leaders – are responsible for planning all aspects of specific tours. Each Tour Leader can
lead several tours. A tour leader is responsible for pricing a tour so that it makes a small profit.
Branch Manager – supervises a branch, and can carry out a Clerical Assistant’s duties. A branch
manager is responsible for balancing costs and receipts in their branch
Team Administrator – supervises the headquarters tour support office, and can carry out a
Clerical Assistant’s duties
Clerical Assistants – maintain all the basic records of tours, tour guides, drivers, venues, hotels,
catering establishments, customer enquiries, bookings, invoices and payments. Clerical
assistants can be found in branches as well as headquarters
Finance Officer – is responsible for balancing costs and receipts overall
The main system tasks are:
Clerical Assistants record new tours, itineraries and venues and can edit them if their details
change. Clerical Assistants assign drivers to each tour, using information provided by the Tour
Leader. This can happen when the tour record is created, or it may happen at a later time.
Tour Leaders can view their own tours, and can make updates but not create new tour entries.
Tour Leaders are responsible for adding itinerary and venue details on their tours and updating
the cost estimate, either at the same time or separately. Clerical Assistants can also carry out
these tasks using information provided by the Tour Leader
Clerical Assistants record payments for customer bookings, both deposits and balances. The
Tour Leader must check that all customers have paid in full before the start date of their tour.
Clerical Assistants record new venue invoices. Tour Leader must approve each invoice on the
system before it can be paid. The Tour Leader may update the tour cost estimate at the same
time. Venue payments are sometimes required in advance; any advance payments in excess of
£1,500 must be approved (on the system) by the Finance Officer before the payment can be
made.
Payments are processed through a link to the separate accounting system. The new system will
record payments for budget monitoring purposes, but other steps in processing the transaction
(e.g. production of cheques) will be handled by the accounting system
The Tour Management system will produce a variety of reports giving information on tour plans,
budgets and spending to date. Tour Leaders can view these reports for their own tours; Branch
Managers can view them for their own branches. The Tours Manager and Finance Officer can
view them for all tours.
IMAT5205
Modelling Assignment
5
The Use Case Description:
Use Case Name:
Record New Tour
Primary Actor:
Clerical Assistant
Secondary Actors:
Branch Manager
Other Stakeholders:
TMS
Business Goal:
To create new tour and record initial details
Precondition
Tour leader exists on the system
Success Condition
New tour recorded with initial details
Main Path
1. Clerical Assistant selects Add
Tour
2. System displays the Tour Details
screen
3. Clerical Assistant enters tour
name, tour type, description, start
date, duration and tour leader
code
4. Clerical Assistant selects ‘save’
5. System displays ‘Assign Tour
Driver?’
6. Clerical Assistant selects ‘yes’
7. System displays list of drivers
(driver code, name, preferred region,
preferred tour length, preferred tour
type)
8. Clerical Assistant selects driver
code
9. Clerical Assistant selects ‘save’
10. System displays ‘Add another
driver?’
11. Clerical Assistant selects ‘no’
Variant Paths
3. Tour Leader Code not recognised.
3a. System displays error message
‘Code not recognised, please re-enter
Tour Leader Code’
3b. Return to 3.
11. Multiple drivers
11b. Go to 7.
11a. Clerical Assistant selects ‘Yes’
IMAT5205
Modelling Assignment
6
IMAT5205 Assignment 2: Modelling
2019/20 – Grade / Feedback Sheet.
Note: All marks and grades are provisional until moderation is complete and confirmed by
the relevant Assessment Board, and may change
Overall Grade:
Name:
Analysis Class
Diagram
(20%)
Analysis Class
Discussion and
Decisions
(5%)
Communication
Diagram
(20%)
Communication
Diagram
Discussion and
Decisions
(5%)
90-100%
Distinction
80-89%
Distinction
70-79%
Distinction
60-69%
Merit
50-59%
Pass
40-49%
Almost
Pass
30-39%
Clear Fail
20-29%
Clear Fail
10-19%
Clear Fail
0-9%
Clear Fail
Mark
awarded:
(NB: higher level descriptors above build on those in lower mark levels. See other comments in your report)
continues on next page…
Comments:
IMAT5205
Modelling Assignment
7
IMAT5205 Assignment 2: Modelling
2019/20 – Grade / Feedback Sheet.
page 2
Name:
Sequence Diagram
(20%)
Sequence Diagram
Discussion and
Decisions
(5%)
Evaluation
(25%)
90-100%
Distinction
80-89%
Distinction
70-79%
Distinction
60-69%
Merit
50-59%
Pass
40-49%
Almost
Pass
30-39%
Clear Fail
20-29%
Clear Fail
10-19%
Clear Fail
0-9%
Clear Fail
Mark
awarded:
(NB: higher level descriptors above build on those in lower mark levels. See other comments in your report)
Further Comments (if any):
IMAT5205
Modelling Assignment
8
1
UML Modeling
Name
Institution
Instructor
Course
Date
Systems Analysis and Design 2
Table of Contents
1
2
3
4
Part 1 ……………………………………………………………………………………………………………….. 3
1.1
Analysis class diagram ……………………………………………………………………………….. 3
1.2
Decision made while drawing the Analysis class diagram …………………………….. 4
Part 2 ……………………………………………………………………………………………………………….. 4
2.1
Communication Diagram ……………………………………………………………………………. 4
2.2
Communication diagram for the use case ……………………………………………………. 5
2.3
Sequence Diagram ……………………………………………………………………………………… 5
Part 3 ……………………………………………………………………………………………………………….. 8
3.1
Evaluation………………………………………………………………………………………………….. 8
3.2
Unified Modeling Language and how it supports the designer ……………………… 9
3.3
Benefits of UML ……………………………………………………………………………………….. 10
Bibliography …………………………………………………………………………………………………… 11
Systems Analysis and Design 3
1
1.1
Part 1
Analysis class diagram
An Analysis class diagram is used to represent eloquent concepts in computational domains.
It centers on the domain’s concepts rather than the software elements as would be in the class
diagram. The analysis class diagram requires the existing use cases and actors; it may also be built
at the same time as use cases. These diagrams are used in the illustration of things, ideas and
concepts, they also illustrate the attributes of the concepts (Chren, Buhnova, Macak, Daubner and
Rossi, 2019). The diagrams facilitate decomposition of the domain problems into comprehensible
units and clarifying the terminologies. The concepts can be identified from physical objects, roles.
Places, events, and records. Other sources of concepts can be from processes, specifications and
rules (Lending and May, 2019). as opposed to the class diagram, the Analysis class diagram has
associations such as Related –to, Owned-by, Far-from, Above, below. Communicates with, Uses,
manages, or controls, description of contained in, Part-of.
Figure 1
Systems Analysis and Design 4
1.2
Decision made while drawing the Analysis class diagram
The most important element in the Diagram is the identifications of the associations and
concepts that would map in the class diagram. The concepts could be driven from objects such as
tour, real-world things such as tour leader and tour drivers. The types of association between these
three can be identified in many forms, such as Tour driver often communicates with the tour leader.
At the same time, the tour leader communicates with the driver. The tour leader is part of Tour
while the clerks manage the tour and the tour leader as well. Another area that needed a decision is
the cardinality of the objects, for example, a tour can have one or more tour drivers. Clerk manages
many tours while a tour can have one or more drivers. The entities and the behaviors of each class
had to be decided upon, for example, the most important feature of the tour leader is its code and
for the tour driver, it is the driver code.
2
2.1
Part 2
Communication Diagram
The essence of communication diagrams is to illustrate the interaction of objects. It is an
extension of object diagrams that serve the purpose of illustrating how messages are relayed across
the objects. It also shows the messages that are sent to one another by various objects. The
communication diagram, therefore, models the messages that pass between the objects or roles that
deliver the functionalities of the use cases and the operations (Jagtap,Gawde, Pawar, Shendge and
Avhad, 2016). It also captures the collaborations that indicate the history of messages between the
objects and functions within the cooperation scenario. It also supports the identification of classes
and objects and their attributes and the operations or messages that participates in the use cases
(Bazydło and Adamski, 2016).
Systems Analysis and Design 5
2.2
Communication diagram for the use case
Figure 2
The communication diagram shows how communication happens between the two entities.
The major entities in the scenario are the System and the clerk. The data, therefore, flows from the
system to the clerk and vice versa. The first decision to be made was the sequence of the messages.
The first messages first and the last messages going last in the system. Then the most difficult part
is the identification of the communicating entities in the use case. There are only two, the system
and the Clerk as shown previously. Clerk, therefore, adds tour, enters tour details into the system
and selects both driver and the tour leader. On the other hand, the system gives the clerk tour details
as entered by the clerk, it assigns the driver and authenticates the driver codes. The error codes are
then sent to the clerk who identifies the source of the error.
2.3
Sequence Diagram
Sequence diagrams are similar to communication diagram as they both depict the
communication interaction between two objects. They gives the order of interactions among
objects. The major function of a sequence diagram is illustrating the order of objects within the
system function and is mostly utilized during the designing of the system (Karim, Liawatimena,
Trisetyarso, Abbas and Suparta, 2017). The sequence diagram is therefore used to model the usage
Systems Analysis and Design 6
scenario: this shows how the system could be used, it gives the best way to work through the
system logic for the System, the Sequence diagram also uses UML sequence to explore the logic of
functions procedure and any complex process (Faria and Paiva, 2016). Another item in the
sequence diagram is modeling service logic. Strategized services are high-level techniques used by
many firms and the sequence diagram gives the best way to represent the business processes.
Systems Analysis and Design 7
Figure 3
Systems Analysis and Design 8
A sequence diagram shows how communication happens between the different entities
within a system. The major entities in the scenario are the System and the clerk, Tour Driver, Tour
and Tour Leader. The data, therefore, flows between these three entities. The first decision to be
made was the sequence of the messages. The first messages first and the last messages going last in
the system. Then the most difficult part is the identification of the communicating entities in the use
case. There are only two, the system and the Clerk as shown previously. Clerk, therefore, adds tour,
enters tour details into the system and selects both driver and the tour leader. On the other hand, the
system gives the clerk tour details as entered by the clerk, it assigns the driver and authenticates the
driver codes. The system is designed to have communicated between all the entities and also shows
the error codes as well.
3
3.1
Part 3
Evaluation
CASE tools are the standard tools that are used in automated support for software
engineering. The case tools, therefore, are any tool that is used in automating activities that are
associated with software development which includes Web Development, e-commerce and any
other form of software design. CASE is therefore used in the implementation of defect-free and
high-quality software, which gives a disciplined methodology and help developers, testers and
designers view the project tasks during the software development life cycle. In addition, CASE
tools assist in many areas such as documentation of the design specifications which meet the reallife requirements. Also, the tools ensure that the customer remains a component of the process.
In the project, the case tools have been used in the analysis, design, and testing of the
system, the draw.io is the case tool that has been used to automate class diagrams, sequence
diagram and communication diagrams. In a sequence diagram, for example, the case tool was useful
in identifying the entities, and the messages that have been sent between the different scenarios.
Systems Analysis and Design 9
Case tools, therefore, improve productivity and the quality of the resulting system by assisting the
developer during the design stage of the system. CASE tools can be categorized into planning,
analysis and design case tools. Through the use of CASE Tools, the computer application of laborsaving and productivity enhancement is done, and the tools have been applied in different scenarios.
The following are the reasons why Case tools were used during the project
1. It saves the resources that are required in software development
2. It helps in reducing errors during the design process
3. During the development stage, they enable easy detection and identification of bugs
4. Reduces the cost of maintaining the codes.
5. It improves cost savings during the project design
6. It gives high quality and consistent project documents and designs
Therefore, for the project, CASE tools were applied in the development of the Sequence diagram,
communication diagram and class diagram.
In the project, CASE tools were used in the development of the following concepts
3.2
•
Identifying classes and objects
•
Drawing the class diagram and Sequence diagrams
•
Drawing of the communication diagrams.
Unified Modeling Language and how it supports the designer
UML is a free specification language for the object modeling, it is used generally with a
unified graphical interface that can be applied in the development of the abstract system. The UML
is extendable and offers a profile for customization as well. It gives a way of visualizing a software
program using diagrams and it has evolved to cover variety of software projects (de Marcos, Flores
Systems Analysis and Design 10
Morador and Javier, 2013). UML therefore improves the integration of the models such as
structural models like class diagram and activity diagrams. Utilizing the UMLs help project
managers to approve the compositional structure of the product (Siau and Cao, 2001). Most tools
are non-proprietary and use general-purpose modeling language that applies standardized graphical
notations that are applied in the creation of the abstract systems.
The most prominent parts of a system that can be modeled include:
Functional Modeling: this showcases the how the system functions from the perspective of the
user. This where Use Case modeling takes place.
Object Modeling: This shows the substructure and structure of a system. This is where the
attributes, operations, and associations of a system are defined. This point is where class diagrams
are applied.
Dynamic Models: dynamic modeling shows the internal behaviors of systems. The dynamic
modeling includes communication diagrams and sequence diagrams.
3.3
Benefits of UML
It helps in taking control of a system, it, therefore, guards the path to be taken next based on
the criteria. UML also helps to improve business outcomes just the same way simulations help to
improve communications and reduce complexity.
Systems Analysis and Design 11
4
Bibliography
Bazydło, G. and Adamski, M., 2016. Using UML behavior diagrams for graphical specification of
programs for logic controllers. In Design of Reconfigurable Logic Controllers (pp. 131142). Springer, Cham.
Chren, S., Buhnova, B., Macak, M., Daubner, L. and Rossi, B., 2019, May. Mistakes in UML
diagrams: analysis of student projects in a software engineering course. In Proceedings of
the 41st International Conference on Software Engineering: Software Engineering
Education and Training (pp. 100-109). IEEE Press.
de Marcos, L., Flores Morador, F. and Javier, J. (2013). Modeling with Plato: The Unified
Modeling Language in a Cultural Context. SSRN Electronic Journal.
Faria, J.P. and Paiva, A.C., 2016. A toolset for conformance testing against UML sequence
diagrams based on event-driven colored Petri nets. International Journal on Software Tools
for Technology Transfer, 18(3), pp.285-304.
Jagtap, S., Gawde, V., Pawar, R., Shendge, S. and Avhad, P., 2016. Generate Test Cases From
UML Use Case and State Chart Diagrams. International Research Journal of Engineering
and Technology (IRJET), 3, pp.873-881.
Karim, S., Liawatimena, S., Trisetyarso, A., Abbas, B.S. and Suparta, W., 2017, November.
Automating functional and structural software size measurement based on XML structure of
UML sequence diagram. In 2017 IEEE International Conference on Cybernetics and
Computational Intelligence (CyberneticsCom) (pp. 24-28). IEEE.
Lending, D. and May, J., 2019. Using activity diagrams to model systems analysis techniques:
Teaching what we preach. Journal of Information Systems Education, 24(2), p.1.
Siau, K. and Cao, Q. (2001). Unified Modeling Language. Journal of Database Management,
12(1), pp.26-34.
1
UML Modeling
Whatsapp so that I can forward the chats directly to you +254740492955
Name
Institution
Instructor
Course
Date
Systems Analysis and Design 2
Table of Contents
1
2
3
4
Part 1 ……………………………………………………………………………………………………………….. 3
1.1
Analysis class diagram ……………………………………………………………………………….. 3
1.2
Decision made while drawing the Analysis class diagram …………………………….. 4
Part 2 ……………………………………………………………………………………………………………….. 4
2.1
Communication Diagram ……………………………………………………………………………. 4
2.2
Communication diagram for the use case ……………………………………………………. 5
2.3
Sequence Diagram ……………………………………………………………………………………… 6
Part 3 ……………………………………………………………………………………………………………….. 8
3.1
Evaluation………………………………………………………………………………………………….. 8
3.2
Unified Modeling Language and how it supports the designer ……………………… 9
3.3
Benefits of UML ……………………………………………………………………………………….. 10
Bibliography …………………………………………………………………………………………………… 11
Systems Analysis and Design 3
1
1.1
Part 1
Analysis class diagram
An Analysis class diagram is used to represent eloquent concepts in computational domains.
It centers on the domain’s concepts rather than the software elements as would be in the class
diagram. The analysis class diagram requires the existing use cases and actors; it may also be built
at the same time as use cases. These diagrams are used in the illustration of things, ideas and
concepts, they also illustrate the attributes of the concepts (Chren, Buhnova, Macak, Daubner and
Rossi, 2019). The diagrams facilitate decomposition of the domain problems into comprehensible
units and clarifying the terminologies. The concepts can be identified from physical objects, roles.
Places, events, and records. Other sources of concepts can be from processes, specifications and
rules (Lending and May, 2019). as opposed to the class diagram, the Analysis class diagram has
associations such as Related –to, Owned-by, Far-from, Above, below. Communicates with, Uses,
manages, or controls, description of contained in, Part-of.
Figure 1
Systems Analysis and Design 4
1.2
Decision made while drawing the Analysis class diagram
The most important element in the Diagram is the identifications of the associations and
concepts that would map in the class diagram. The concepts could be driven from objects such as
tour, real-world things such as tour leader and tour drivers. The types of association between these
three can be identified in many forms, such as Tour driver often communicates with the tour leader.
At the same time, the tour leader communicates with the driver. The tour leader is part of Tour
while the clerks manage the tour and the tour leader as well. Another area that needed a decision is
the cardinality of the objects, for example, a tour can have one or more tour drivers. Clerk manages
many tours while a tour can have one or more drivers. The entities and the behaviors of each class
had to be decided upon, for example, the most important feature of the tour leader is its code and
for the tour driver, it is the driver code.
2
2.1
Part 2
Communication Diagram
The essence of communication diagrams is to illustrate the interaction of objects. It is an
extension of object diagrams that serve the purpose of illustrating how messages are relayed across
the objects. It also shows the messages that are sent to one another by various objects. The
communication diagram, therefore, models the messages that pass between the objects or roles that
deliver the functionalities of the use cases and the operations (Jagtap,Gawde, Pawar, Shendge and
Avhad, 2016). It also captures the collaborations that indicate the history of messages between the
objects and functions within the cooperation scenario. It also supports the identification of classes
and objects and their attributes and the operations or messages that participates in the use cases
(Bazydło and Adamski, 2016).
Systems Analysis and Design 5
2.2
Communication diagram for the use case
Figure 2
The communication diagram shows how communication happens between the two entities.
The major entities in the scenario are the System and the clerk. The data, therefore, flows from the
system to the clerk and vice versa. The first decision to be made was the sequence of the messages.
The first messages first and the last messages going last in the system. Then the most difficult part
is the identification of the communicating entities in the use case. There are only two, the system
and the Clerk as shown previously. Clerk, therefore, adds tour, enters tour details into the system
and selects both driver and the tour leader. On the other hand, the system gives the clerk tour details
as entered by the clerk, it assigns the driver and authenticates the driver codes. The error codes are
then sent to the clerk who identifies the source of the error.
Systems Analysis and Design 6
2.3
Sequence Diagram
Sequence diagrams are similar to communication diagram as they both depict the
communication interaction between two objects. They gives the order of interactions among
objects. The major function of a sequence diagram is illustrating the order of objects within the
system function and is mostly utilized during the designing of the system (Karim, Liawatimena,
Trisetyarso, Abbas and Suparta, 2017). The sequence diagram is therefore used to model the usage
scenario: this shows how the system could be used, it gives the best way to work through the
system logic for the System, the Sequence diagram also uses UML sequence to explore the logic of
functions procedure and any complex process (Faria and Paiva, 2016). Another item in the
sequence diagram is modeling service logic. Strategized services are high-level techniques used by
many firms and the sequence diagram gives the best way to represent the business processes.
Systems Analysis and Design 7
Figure 3
A sequence diagram shows how communication happens between the different entities
within a system. The major entities in the scenario are the System and the clerk, Tour Driver, Tour
and Tour Leader. The data, therefore, flows between these three entities. The first decision to be
made was the sequence of the messages. The first messages first and the last messages going last in
the system. Then the most difficult part is the identification of the communicating entities in the use
case. There are only two, the system and the Clerk as shown previously. Clerk, therefore, adds tour,
enters tour details into the system and selects both driver and the tour leader. On the other hand, the
Systems Analysis and Design 8
system gives the clerk tour details as entered by the clerk, it assigns the driver and authenticates the
driver codes. The system is designed to have communicated between all the entities and also shows
the error codes as well.
3
3.1
Part 3
Evaluation
CASE tools are the standard tools that are used in automated support for software
engineering. The case tools, therefore, are any tool that is used in automating activities that are
associated with software development which includes Web Development, e-commerce and any
other form of software design. CASE is therefore used in the implementation of defect-free and
high-quality software, which gives a disciplined methodology and help developers, testers and
designers view the project tasks during the software development life cycle. In addition, CASE
tools assist in many areas such as documentation of the design specifications which meet the reallife requirements. Also, the tools ensure that the customer remains a component of the process.
In the project, the case tools have been used in the analysis, design, and testing of the
system, the draw.io is the case tool that has been used to automate class diagrams, sequence
diagram and communication diagrams. In a sequence diagram, for example, the case tool was useful
in identifying the entities, and the messages that have been sent between the different scenarios.
Case tools, therefore, improve productivity and the quality of the resulting system by assisting the
developer during the design stage of the system. CASE tools can be categorized into planning,
analysis and design case tools. Through the use of CASE Tools, the computer application of laborsaving and productivity enhancement is done, and the tools have been applied in different scenarios.
The following are the reasons why Case tools were used during the project
1. It saves the resources that are required in software development
Systems Analysis and Design 9
2. It helps in reducing errors during the design process
3. During the development stage, they enable easy detection and identification of bugs
4. Reduces the cost of maintaining the codes.
5. It improves cost savings during the project design
6. It gives high quality and consistent project documents and designs
Therefore, for the project, CASE tools were applied in the development of the Sequence diagram,
communication diagram and class diagram.
In the project, CASE tools were used in the development of the following concepts
3.2
•
Identifying classes and objects
•
Drawing the class diagram and Sequence diagrams
•
Drawing of the communication diagrams.
Unified Modeling Language and how it supports the designer
UML is a free specification language for the object modeling, it is used generally with a
unified graphical interface that can be applied in the development of the abstract system. The UML
is extendable and offers a profile for customization as well. It gives a way of visualizing a software
program using diagrams and it has evolved to cover variety of software projects (de Marcos, Flores
Morador and Javier, 2013). UML therefore improves the integration of the models such as
structural models like class diagram and activity diagrams. Utilizing the UMLs help project
managers to approve the compositional structure of the product (Siau and Cao, 2001). Most tools
are non-proprietary and use general-purpose modeling language that applies standardized graphical
notations that are applied in the creation of the abstract systems.
The most prominent parts of a system that can be modeled include:
Systems Analysis and Design 10
Functional Modeling: this showcases the how the system functions from the perspective of the
user. This where Use Case modeling takes place.
Object Modeling: This shows the substructure and structure of a system. This is where the
attributes, operations, and associations of a system are defined. This point is where class diagrams
are applied.
Dynamic Models: dynamic modeling shows the internal behaviors of systems. The dynamic
modeling includes communication diagrams and sequence diagrams.
3.3
Benefits of UML
It helps in taking control of a system, it, therefore, guards the path to be taken next based on
the criteria. UML also helps to improve business outcomes just the same way simulations help to
improve communications and reduce complexity.
Systems Analysis and Design 11
4
Bibliography
Bazydło, G. and Adamski, M., 2016. Using UML behavior diagrams for gra…