Assignment 1

Before coding can take place for a software application, it is fundamental to define the what of the system. What are the requirements? One way to document requirements is to create use case diagrams. Consider an automated teller machine (ATM) system. Model the process of the various transactions that a customer can make at an ATM machine. Remember to include the authentication process and any exception transactions such as error handling. Once you have completed your diagram, describe in detail each use case in plain English (one paragraph for each).

Assignment 2

Unified Modeling Language (UML) is a standard modeling tool for visualizing the design of a system in the field of software engineering. Convert the use case diagram (This was the Individual Project from Unit 1) into a UML diagram. Your UML diagram should include all the classes, attributes (data types must be specified), operations as well as the relationship types between the classes.

Assignment 3

Part 1

Collaborative software development tools (CSDTs) enable effective communication and collaboration on projects.

  • Identify three CSDT's. Find 3-5 features that will allow you to compare these collaborative software development tools.
  • Specify how each CSDT aids in addressing or preventing issues encountered in software development.

Part 2

Click here for a description of extreme programming.

  • How would you document extreme programing activities using the CSDT you recommended in Part 1?
  • Why is extreme programming used in software development projects and situational cases, or specific problems that relate to redundancy in coding (such as re-using code, code optimization and reducing the number of lines of code)?

Assignment 4

Research the buzzword antipattern and provide a definition for this term. Provide the following information in your answer.

  • Describe a common antipattern for software development.
    • Give an original example or scenario for each.
    • How would you address this situation?
  • Describe a common antipattern for software architecture.
    • Give an original example or scenario for each.
    • How would you address this situation?

Assignment 5

Part 1

Software maintenance involves a set of activities performed after the customer has accepted the final product.

  • Provide the name of a specific web or mobile app that you use.
  • Which ISO standards identify the categories for software maintenance?

Part 2

Go to Energy.gov. In the search box type "Computer System Retirement Guidelines." This is an example illustrating the proper documentation for removal and disposal of application from all systems.

Based on your web or mobile app specified in Part 1, how is removal and disposal of the application communicated to the customer? Provide examples.

Questions

1. What are the 3 most critical principles that support the software development life cycle? Thoroughly explain your opinion

2. In the software engineering development process, requirements specification is the first step. During that step, you gather requirements that reflect the needs from both the users and stakeholders. From this list of requirements, you will differentiate two types of requirements: functional and nonfunctional.

  • Provide an example of a functional requirement and nonfunctional requirement.
  • How are these requirements different?

3. What are the primary components that standards attempt to address? Thoroughly explain.

4. Review Software and Systems Engineering Standards on both ISO and IEEE Web sites.

  • Which standard is most commonly used in the area of software you are interested in?
  • Summarize the selected standard and discuss how you would ensure the standard was met.

5. What is your personality type according to this assessment? Report the results for each indicator.

  • In your opinion, how accurate were the results?
  • The most common personality type for software developers is ISTJ.
  • Compare your results with the most common personality type for software developers.

6. Regardless of your results, your personality has the potential to serve as strength and a deterrent as a software engineer. List ways that you can uniquely contribute to your team as a result of your personality. What types of situations should you be wary of, given your personal profile?

7. John Doe contacts the Department of Software Engineering at his local college to seek recommendations to remove viruses and other malware from his computer. Professor Smith, an expert in this subject matter, answers Mr. Does questions and recommends the antivirus package "VirusAway" to address his computers issues. Professor Smith does not specify other products that would solve the same issues at a lower cost. He also does not state that the "VirusAway" is a product of his wifes technology venture development firm and that he has equity in the company.

In your opinion, from the eight principles (full version) in the Code, which one(s) are the most relevant to this scenario? Thoroughly explain.

8. Visit this Web site (http://www.onlineethics.org/cms/7680.aspx) to view real-life reports of software engineers who at some point chose to disregard their ethical obligations when developing software. Provide a real-world application when responding to each of the following questions:

  • What kinds of harm to the public can software engineers inadvertently cause?
  • What kinds of harm can software engineers prevent?

9. Which do you prefer: Systems Engineering or Software Engineering? Explain your answer.

10. In software engineering, two common types of requirement analysis are verification and validation. Research the two types of requirement analysis. What are the commonly used techniques for each? Provide 2-3 techniques for each.

Academic Honesty!
It is not our intention to break the school's academic policy. Projects posted are only used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly fill out the form. Please provide a valid email address and we'll get back to you in less than 24 hours. We will be sending an invoice through PayPal upon confirmation. We are a non profit organization however we need an amount to keep this organization running, and to be able to complete our research and development.