Access over 35 million academic & study documents

CS 349 Software Design Discussion

Content type
User Generated
Subject
Software Development
Type
Discussion
Showing Page:
1/3
CS349
Kodie Turner
5/24/20
Software Design is a process of preparing, discussing the project/software applications,
setting goals, keeping consistent, and meeting the requirements. Design is another way of
making software production more efficient. Designing a program is sitting down and brain
storming, thinking about the various issues of the problem-domain and working out in a general
fashion how you might solve that issue while being consistent with the goal, or how you've
solved it before, and (more so I've found recently) when to decide what’s important and what’s
not.
A brief description of the following: Abstraction, Refinement, Modularity, Software
Architecture.
Abstraction - is that it is the process or result of generalization of reducing information of a
concept that is only relevant for a specific purpose. It’s representing essential features without
explanation.
Refinement Modern Software Development is a complicated process when a system becomes
increasingly large. Developers must apply Refinement in order to proceed from a high-level
abstract model to a final software system by adding A lot more details over the time frame.

Sign up to view the full document!

lock_open Sign Up
Showing Page:
2/3
Refinement is the idea that software is developed by going through the levels of abstraction,
from higher levels and refining each level as you more though them with detail.
Modularity Modularity is the division of software into separate modules which are named and
addressed differently, then integrated later to obtain a finished software. This allows the property
of the software to be manageable due to the large number of variables, control paths, etc. that are
in place.
Software Architecture Software Architecture depicts system organization or structure,
providing an explanation of how it works, and represents the collection of components that
function in their own specific ways to provide a sturdy foundation for everything.
Describing the characteristics of the following, Reusability, Flexibility, and Robustness, in
design.
Reusability Reusability is straight forward; this allows the software to be reused for other
software it wasn’t originally created for. This allows Developers to produce more complex and
detailed projects in less time due to reusing software. This is a verily common technique in the
software engineer world.
Flexibility Flexibility allows the software to be adaptive to possible or future changes that are
required for the development of the project. Designing and building need a solution for when
these changes inevitably appear in the future of a project.

Sign up to view the full document!

lock_open Sign Up
Showing Page:
3/3

Sign up to view the full document!

lock_open Sign Up
Unformatted Attachment Preview
CS349 Kodie Turner 5/24/20 Software Design is a process of preparing, discussing the project/software applications, setting goals, keeping consistent, and meeting the requirements. Design is another way of making software production more efficient. Designing a program is sitting down and brain storming, thinking about the various issues of the problem-domain and working out in a general fashion how you might solve that issue while being consistent with the goal, or how you've solved it before, and (more so I've found recently) when to decide what’s important and what’s not. A brief description of the following: Abstraction, Refinement, Modularity, Software Architecture. Abstraction - is that it is the process or result of generalization of reducing information of a concept that is only relevant for a specific purpose. It’s representing essential features without explanation. Refi ...
Purchase document 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.
Studypool
4.7
Indeed
4.5
Sitejabber
4.4