software engineering homework

User Generated

Sbttl1

Computer Science

Description

It is a 6 parts homework you need to do all the 6 parts and make sure to do all the steps. submit each part in word file, and the pic that I have uploaded is for part 6

Part 1:

What is the term mean? And write up a one-paragraph definition in your own words cite any sources.

–Software Architect

–System Architect

–Version Control

–Access Control List

Part 2:

  • Think about the components that make up an application
  • Marynet, Course Information from the Course Schedule
  • Develop a component diagram that breaks the pices down to the lowest level of a component
  • Example: term would be a separate component
  • Submit diagram on paper or upload an image

Part 3:

answer the following questions

  • Why do you think git is so popular?
  • Who originally wrote git and why?
  • What is the difference between pull and a check out?
  • What process should be done before each check-in?
  • What types of file should NOT be included in source control?

Part 4:

Capacity Planning

You are in the DevOps group at the hospital where the organization is implementing a new Electronic Medical Records (EMR) system. You are asked to estimate the amount of and cost of the required storage capacity.The project manager has given you the following information:

  • The hospital currently has 1,250,000 patients in a legacy system which has been running for the past 10 years. These will be transferred to the new system.
  • It is estimated that 250,000 new patients will be added each year and 100,000 existing patients will return for a visit every year. For those patients in the legacy system, the average number of visits over 10 years is 6.
  • The new system includes the following data.
    • Patient identification (300 bytes)
    • Visit information (450 bytes per visit)
    • Diagnosis information (600 bytes per diagnosis), average number of diagnosis is 3
    • Lab results (800 bytes per lab), average number of labs per visit is 3
    • Image results (20,000 bytes per image), average number of images per visit is 2
    • Physician notes (1,500 bytes per contact), average number of contacts per visit is 6
  • Allow 45% overhead for the database management system (including additional files for indexing, metadata, etc.)
  • A full backup will be taken daily, and each backup will be kept for 10 days.
  • A daily transaction log will be maintained for 5 days; it is estimated that there are some 25,000 transactions per day (average size is 500 bytes)
  • Develop a detailed spreadsheet showing your calculations on disk capacity requirements:
    • When system installed
    • At 1 year
    • At 10 years

Note: the project manager says these numbers may change so make a spreadsheet that allows you to easily change the numbers

Assuming you are developing the system for the hospital’s data center, estimate the costs for storage using Dell equipment Detailed the costs for the physical devices including when you will need to acquire new devices

Assuming that you are virtualizing the system using Amazon S3, estimate the costs for storage, using auto-scaling when 80% full.

Summarize your results and recommend one of the two approaches in a memo to the project manager

Submit your detailed spreadsheet with headings, formulae and column names.

Part 5:

Capacity Planning

Introduction
You are in the DevOps group at a government agency where the organization runs a case management application. They are having performance problems running the application in-house (a web server in their own data center), and there is too much downtime. They are looking to your advice and cost estimates about whether they need to procure one or more new web servers or they should move to a cloud service.

There are about 1200 a concurrent user on the application ech day, most of them at remote locations.

Details of the application
The application has a major web interface with a menu allowing the user to create a new case, update a case, find a specific case, or search for a case by a variety of terms.

Main Menu
The current front-end application requires 0.5 GB of memory to run each instance and each instance can handle a maximum of 300 concurrent users.

New Cases
20% of the users create a new case when they access the system.The “new case” component calls 4 different services to collect different parts of the required information. Each service is called sequentially so only 1 service is in memory at any one time. The new case component stays in memory and takes 1.2 GB of memory. The maximum load it can take is 150 users. The maximum size of each of the services called is 0.5 GB and it can handle 50 users at the same time.

Update Cases
About 30% of the users are simply updating one or more of the pages created as above. Again the component has 4 different services representing each of the different parts of the information. As above, each service is called sequentially so only 1 service is in memory at only one time.

The “update case” component stays in memory and takes 0.75 GB of memory. The maximum load it can take is 300 users. The maximum size of each of the services called is 0.4GB and it can handle 300 users at one time.

Find Specific Case
About 30% of the users merely use the application to retrieve data on a specific case. The component is a stand-alone application. The maximum load is 80 users and the size of the component is 0.5 GB of memory.

Search Cases
The remaining 20% of users are performing searches to identify one or more relevant cases. The search system has a service to handle each of the five different search terms (e.g. topic, name, location, date, and prosecution status).

Searches can involve 2 of these topics at the same time so 2 service instance can be in memory at the same time. The search case outer module stays in memory (1.5GB) and so does 2 of the 5 services (0.4 MB) each. The module and services have maximum local factor of 100 users.

Non-Functional Considerations
Downtime has been a factor so the government organization wants to have at least 2 different VMs or servers. Each VM/server must have enough memory to carry the entire load in the case of failure of one of the machines (e.g., a hard disk failure).

Memo

Draw a component diagram of the application making for each module the number of instance that are necessary to adequately support the estimated workload.

Prepare a spreadsheet identifying the various component memory requirements and calculate the total memory requirements, allowing for the multiple instances necessary to support the anticipated concurrent users.

Next identify the costs and availability of machines that meet the appropriate memory requirements (Dell) and the cost of running these on a cloud service of your choice. The operating system environment is Microsoft Windows.

Prepare a memo to the CIO (Elizabeth Jones) with a copy to the CFO (Nathan Andrews) which summarizes the costs and features of the 2 options, including the time it might take to provision them.

Include information on the urgency of the requests as the inspector general will be doing an audit in 3 months’ time.

In the last paragraph detail your recommendation, attached a spreadsheet showing your calculations, and the component diagram.

Notes:

  • In addition, the application requires a Registry/Load Balancer and this is a 1.2 GB application and should be in memory at all times.
  • The application will require about 3 TB of data and has a service to retrieve data for each part of the system which requires 2GB of memory. It has capacity of handling 600 users.
  • You may recommend the cloud service of your choice but your memo should justify why you selected the cloud provider, there should be at least 3 justifications.

Part 6:

Report on DevSecOps in our Organization

You are a solutions architect for the company, KidsBuyNow, which is a fairly new (2 years old) e-commerce company specializing in kids clothing and toys. This is a very competitive environment and your CEO wants to greatly expand the customer base, capitalizing on the bankruptcy of KidsRUs and ToysRuS.

Over the past year you have migrated many of the IT resources to the cloud (see attached). This is a multi-cloud environment with four major components:

  • HQ: the company still runs an internal data center which hosts the company’s ERP system, including all the company’s financial data.
  • Amazon Cloud: customer facing applications such as the company catalog and the e-commerce actions. Inventory is also stored on the Amazon site and is accessible by the company suppliers such as Hasbro
  • IBM Cloud, where the company’s data mining activities are housed, using tools such as IBM Watson
  • Microsoft Azure Cloud including the company’s administrative systems using Office 365 and SharePoint (including documents which include the company’s intellectual property).

You have been implementing DevOps but there have been a few security issues. The CIO is concerned about the company’s reputation if data breaches and has asked you to prepare a report that address this.

This repot should include the following:

  • Describe the different components of the IT infrastructure and what advantages does each cloud provider have for the company
  • Discuss the value of DevOps in this environment (at least 3 references to sites that recommend DevOps)
  • A description of all the security devices that are part of the solution and how they protect the company (e.g., firewall, routers)
  • Discuss DevSecOps as the next project for your team, explain what it means, and how it will improve the company’s security (at least 3 links to sites that recommend DevSecOps and 2 companies that are using it)
  • A summary of how you are continuing to poise the company for a sudden growth in sales as ToysRUs declares bankruptcy.

This is a formal report, with a cover page, an automatically generated table of contents, and at least 4 pages of text (you may include relevant graphics). The report is for the CEO who does not have a strong technical background and so should avoid too much jargon. To overcome this, add a glossary at the end of the report including at least 6 technical terms you have used in your report.

You also need to include a cover letter to the CEO (Jennifer Jones)

Note the Amazon router is also a load balancer

Unformatted Attachment Preview

End User Storage 993 Amazon Web Service Cloudflare Virtual Hosts Router HQ Router 1 D 100_A Virtual Machines Virtual Machines Virtual Hosts Firewall Managed Firewall Internet Managed Storage RE Azure Managed Firewall Managed Firewall Managed Router Routler IBM D HAN Virtual Machines Virtual Hosts Vino Virtual Hosts Virtual Machines 999 Managed Storage 333 Managed Storage
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

attached is my final answer

Solution to Software Engineering Homework

Solution to Software Engineering Homework
Course’s Name
Student’s Name
Professor’s Name
Institution
Due Date

1

Solution to Software Engineering Homework

2

Solution to Software Engineering Homework
Solution to Part 1
Firstly, a software architect is a product master who settles on abnormal state outline
decisions and manages specialized gauges, including programming coding guidelines,
instruments, and stages. The main master is alluded to as the central draftsman. Secondly, the
systems architect is an expert figure in data and interchanges innovation. Frameworks planners
characterize the engineering of a modernized framework with a specific end goal to satisfy
certain necessities (Hannu and Bernhard, 2011). Thirdly, a version control refers to a segment of
programming arrangement administration, adaptation control, otherwise called modification
control or source control, is the administration of changes to reports, PC programs, substantial
sites, and different accumulations of data. Fourthly, an access control list (ACL), regarding a PC
document framework, is a rundown of authorizations appended to a question. An ACL
determines which clients or framework forms are conceded access to objects, and also what tasks
are permitted on given items. Every section in a regular ACL determines a subject and an
activity.
Solution to Part 2
A component diagram that breaks the pieces down to the lowest level of a component is
shown below:

Solution to Software Engineering Homework

3

Solution to Part 3
As far as I am concerned, Git is so popular because designers like having the capacity to
oversee changes disconnected and like having full control over a nearby code base. In Git, the
thought of an ace repo is controlled by assertion instead of design. Particularly for open source
ventures with different certainties (like the Linux Kernel Git was intended to deal with), it's
valuable to have various full duplicates that offer just what they require. Moreover, Git has a
branch as a key idea as opposed to as a dart on. Subversion, the most prominent antecedent, is
great at spreading yet models it as another index in a similar archive, so stretching gets hard on
the off chance that you haven't set up your repo ideal from the begin. With Git, you can branch
and consolidation at whatever point, and it's blasting quick about it to boot.
The person who originally wrote Git is Linus Torvalds, and the purpose of writing Git is
to track changes in PC documents and planning take a shot at those records among various
individuals. It is basically utilized for source code administration in programming improvement,
however, it can be utilized to monitor changes in any arrangement of records. As a disseminated
modification control framework, it is gone for speed, information respectability, and support for
dispersed, non-direct work processes. Git was made by Linus Torvalds in 2005 for the

Solution to Software Engineering Homework

4

advancement of the Linux bit, with other piece engineers adding to its underlying improvement.
Similarly, as with most other disseminated rendition control frameworks, and not at all like a
most client-server framework, each Git catalog on each PC is an undeniable store with finish
history and full form following capacities, autonomous of the system get to or a local server.
The difference between pull and a checkout is that Git pulls contacts the remote
storehouse recognized by birthplace and searches for refreshes. It gets any updates and after that
consolidations the progressions into the objective branch. It doesn't make another branch. On the
other hand, Git checkout - b beginning/ make another branch in light of
inception/ and does not contact the remote storehouse. It takes a gander at
source/ as it presently exists in our nearby vault.
The process that should be done before each chec...

Related Tags