CST 438 - Week 7

This was our seventh week in CST 438 - Software Engineering.

Reflection

Last week we finished the group project for the class. As one of our assignments this week we temporarily set up our project on Amazon Web Services (AWS) and briefly tested it before removing everything from AWS. While AWS is clearly a very powerful tool, it also seems complicated and difficult to learn. While it was easy to get our project running locally, and other web services like Render I have used in the past have been straighforward, AWS required several steps and individual services to be able to run our project. Although most of the services we made were free, some were paid. I was surprised by how expensive the AWS services would have been each month if I had kept them running.

This week we explored the Plan and Document, also called Waterfall, process. I described some of it in the next section, but basically the Waterfall process seeks to describe all of a project's requirements and time estimates before starting said project, unlike Agile which only makes a plan for the next one or two iterations. Both methods have pros and cons. 

With Waterfall the team will have a better understanding of the overall project requirements, but the process often uses technical jargon and diagrams that can be hard for the customer or non-developers to understand. With Agile, the customer is included in the planning of each iteration to help ensure that they and the developers understand each other. However, because Agile only plans one or two iterations at a time, it is possible that part of the project will become hard to maintain or will have to be refactored to include code added in subsequent iterations.

Marsic Requirements Ch. 2

Instead of Software Engineering at Google, this week we read the second chapter of Marsic Requirements.

development method lays out a prescriptive process by mandating a sequence of development tasks. This is also known as "Big Design Up Front" (BDUF).

Requirements Engineering focuses on problems which include:

  • A set of criteria (“requirements”) according to which proposed solutions either definitely solve the problem or fail to solve it.
  • The description of the resources and components at disposal to solve the problem.

stakeholder is an individual or group with interests in, or concerns related to, the system-to-be. Normally the system-to-be has a variety of types of stakeholders.

Requirements process in different methodologies

Requirements Gathering helps define what a system accomplishes, how it fits into the needs of the business, and how it is used on a day-to-day basis.

Requirements Analysis helps refine the requirements recieved from the customer so that the developer's understanding of the problem matches the customer's understanding of the problem.

Requirements Specification represents the problem in a formal or semi-formal manner to ensure clarity, consistency, and completeness.

 

 

Comments

Popular posts from this blog

Week 26

Week 22

Week 28