Answered You can buy a ready-made answer or pick a professional tutor to order an original one.

QUESTION

Software Unit 0

The first step will be to select an organization as the target for your software assurance guidelines document. This organization will be used as the basis for each of the assignments throughout the course and should conform to the following guidelines:

  • Nontrivial: The selected organization should be large enough to allow reasonable exercise of the software assurance guidelines planning process.
  • Domain Knowledge: You should be familiar enough with the organization to allow you to focus on the planning tasks without significant time required for domain education.
  • Accessibility: You should have access to the people and other information related to the organization. This will be an important part of the planning process.

The selected organization may already have software assurance guidelines in place and still be used as the basis for the projects in this course. The selected organization must produce software applications for the government, and is therefore subject to software assurance requirements. It is understood that such an organization may not be readily accessible. Therefore, you may feel free to identify a hypothetical organization that meets the requirements. Any necessary assumptions may be made to fulfill the requirements of organization selection.

Select an existing organization, or identify a hypothetical organization that fits the requirements listed above. Submit your proposal to your instructor before proceeding further with the assignments in the course. Approval should be sought within the first several days of the course. Your instructor will tell you how to submit this proposal and what notification will be given for project approval.

Assignment:

For the assignments in this course, you will not be implementing any software assurance policies or procedures. You will be developing a comprehensive software assurance guidelines document. Your first task in this process will be to select an organization (or identify a hypothetical organization) to use as the basis of your projects. You will also create the shell document for the final project deliverable that you will be working on during each unit. As you proceed through each project phase, you will add content to each section of the final document to gradually complete the final project deliverable. Appropriate research should be conducted to support the development of your guideline document, and assumptions may be made when necessary.

The project deliverables are the following:

  • Submit your organization proposal to instructor for approval.
  • Create a software assurance guidelines document shell in Word. It should include the following:
    • Create a title page
      • Course number and name
      • Project name
      • Student name
      • Date
    • Table of contents (TOC) 
      • Use autogenerated TOC
      • Separate page
      • Maximum of 3 levels deep
      • Update the TOC before submitting your project
    • Section headings (create each heading on a new page with "TBD" as content, except for sections listed under New Content below)
      • Project Outline
      • Security in the Development Life Cycle
      • Software Assurance Techniques
      • Security in Nontraditional Development Models
      • Security Static Analysis
      • Software Assurance Policies and Processes
    • New Content
      • Project outline and requirements
        • Brief description of the organization (can be hypothetical) and where the guidelines will be implemented
        • Company size, location(s), and other pertinent information
        • List of the software applications provided by the company for the government
          • The software list must include at least 1 desktop and 1 Web application.
          • A database must be used with one of the applications.
        • A summary of the software development organization within the company, employees and reporting structure, systems and technologies used for software development, testing, source control, and document storage
          • Material can be taken from the approved proposal that was submitted to the instructor (ensure that this project is approved by the instructor).
      • Security in the development life cycle
        • Provide an outline of the SDLC model that is used in your organization, including each of the major phases.
        • This should be a traditional SDLC. Extended models, such extreme programming, will be covered in a later section.
        • Identify specific components of the security development model that can be applied to each of the phases of your SDLC model.
        • For each pairing of security development model component to SDLC model phase, describe how the security model is applied and the major tasks that are involved.
  • One of the first tasks in the development of a software assurance guidelines document is to determine how software assurance techniques can be applied to the applications being developed by the company. These applications are usually in 3 categories: desktop applications, Web applications, and mobile applications. In addition, some of the applications will probably use a database for the storage of information. To create this part of the software assurance guidelines document, it is necessary to understand the security risks applicable to these types of applications, and identify how the applications can be secured.

    For this assignment, you will identify the types of applications that are being produced by the company, and perform an evaluation of security risks applicable to these applications. You will then identify the types of software assurance techniques to be used for security risk mitigation in each of the software applications.

    The project deliverables are as follows:

  • Update the software assurance guidelines document title page with new date and project name.
  • Update the previously completed sections based on instructor feedback.
  • Complete the Software Assurance Techniques section.
    • Analysis:
      • List and describe at least 3 software applications that are produced by the organization. The applications must include at least 1 desktop application and 1 Web application.
        • One of the applications must use a database for data storage.
      • Identify at least 2 areas of each application that are at security risk, and describe the possible threats and their implications to the organization and to the client (in this case, the government).
      • For each security risk, identify at least 1 software assurance technique that can be applied to reduce the security threat.
    • Guidelines:
      • Based on the analysis that was performed in the previous step, prepare a set of software assurance guidelines that the organization can use for all of the applications that it creates.
      • Guidelines should be categorized by the type of software application and if the application is using a database for data storage or not.
      • Guidelines should identify the software assurance technique to be applied, and they should provide sufficient detail to allow the software development group to implement the technique.

Software development has witnessed tremendous advances with the development of new and better tools and models for development. Businesses typically no longer use models with sequential phases and limited iterations. New development models, such as agile development, extreme programming (XP), and scrum, use teams with highly focused goals, clear deliverables, and iterative development cycles to improve the efficiency of development. These software development models also introduce new security risks in the development organization and the code that is produced.

For this assignment, you will continue development of your software assurance guidelines document to address security in nontraditional development models. This new section of your document will provide guidance to the company when it is using nontraditional development models to ensure that it follows processes and policies that will minimize the threat of security problems. The security development model will be used as the basis for your analysis.

The project deliverables are as follows:

  • Update the software assurance guidelines document title page with the new date and project name.
  • Update previously completed sections based on instructor feedback.
  • Security in Nontraditional Development Models section:
    • Identify a non-traditional software development model that could be used by your company.
    • Provide a summary of the major steps in the development model, and describe the potential security threats for each step.
    • Using the security development model as the foundation for analysis, develop and document appropriate policies and processes for each security risk that will minimize the threat.
    • Association with the security development model should be demonstrated in the policies and processes.
  • One of the most important steps in software assurance is establishing the processes that are used in the code that will support the security that is required to minimize potential breaches. Static analysis tools and techniques are an important part of this process. These tools are commonly used to examine code to determine the level of security and to identify areas where security may be weak or missing.

    For this assignment, you will continue development of your software assurance guidelines document for your selected organization. New content will include a section called Security Static Analysis. In this section, you will focus on an application that your organization might produce. You will first create a design for an application with code samples in C or C++ to illustrate the tenets of the security development model. You will also identify security static analysis tools, and prepare guidelines on how they would be used in the sample code and throughout the software development in the company.

    The project deliverables are as follows:

  • Update the software assurance guidelines title page with new date and project name.
  • Update the previously completed sections based on instructor feedback.
  • Complete the Security Static Analysis section:
    • Prepare a design for an application your organization might produce.
    • Include appropriate diagrams to identify the major components of the application.
    • Describe the major components and potential security issues where appropriate and as related to the security development model.
    • Create code samples in C, C++, or Java to illustrate the tenets of the security development model.
    • Identify at least 3 security static-analysis tools, and prepare guidelines for how they would be used in the sample code and throughout the software development in the company
 
Show more
Stephen Kogo
Stephen Kogo
  • @
  • 5 orders completed
ANSWER

Tutor has posted answer for $100.00. See answer's preview

$100.00

*********

Click here to download attached files: project outline.docx
or Buy custom answer
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question