0% found this document useful (0 votes)
305 views

CS603 - Software Architecture and Design

This document provides an overview of the CS603 - Software Architecture and Design course handout. It outlines the learning goals of exploring design definitions, describing design in different areas, and learning about software design and its need. The pre-requisite courses are Software Engineering I and an introduction to programming course, with a pre-existing knowledge of basic programming concepts, the software development life cycle, and software requirement specification documents expected. The handout also discusses software application development processes and provides overviews of various topics that will be covered related to design objectives, requirements, complexity, and issues with poorly designed software.

Uploaded by

Sohaib Aslam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
305 views

CS603 - Software Architecture and Design

This document provides an overview of the CS603 - Software Architecture and Design course handout. It outlines the learning goals of exploring design definitions, describing design in different areas, and learning about software design and its need. The pre-requisite courses are Software Engineering I and an introduction to programming course, with a pre-existing knowledge of basic programming concepts, the software development life cycle, and software requirement specification documents expected. The handout also discusses software application development processes and provides overviews of various topics that will be covered related to design objectives, requirements, complexity, and issues with poorly designed software.

Uploaded by

Sohaib Aslam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

CS603 - 

Software Architecture and Design Handout

Overview
In first topic of software architecture and design, we will explore the “Design” meaning in the Cambridge
dictionary as verb and noun. We will discuss the application of design in different areas such as design of
houses, chairs and helmet. At the end software design and its need will be described in this topic with
examples.

Learning Goals
 Learn the design definition as verb and noun
 Learn about the description of design from different areas
 Learn about the software design
 Learn about the need of the design activity

Pre-requisite Courses:
Software engineering I (CS504)

Introduction to programming (CS201)

Pre-existing Knowledge:
You should know the following concepts prior taking this course

 Basic programming concepts


 Software development life cycle model
 Software requirement specification document (SRS)

Software Application
Software application development process consist on different phases mentioned in the below figure.
Planning, analysis, design, deployment and implementation, testing and maintenance are steps (phases)
that involved in software development.
 

Overview
In this topic, you will get an overview of the design objectives, what we want to achieve from the design,
the necessity of the design phase, things involved in design process, what it specifies and how a design
should be.

Learning Goals
 Learn about the design objectives
 Learn about the necessity of the design
 Learn about the requirements of the design
 Learn about the problem domain vs design
 Learn about the customer needs and design

Customer Requirements
Customer requirements mean what customers or users required from the system. How the system
behaves, what are the tasks need to perform by the system, how users will interact with the
system, and how the system will present the output. The customer is a significant stakeholder
that plays a vital role in the correct development, successful implementation, and system
utilization.

Domain Knowledge
Domain knowledge means the information and having expertise about the particular environment
and industry in which the developed system will operate. For example, knowledge of the
pharmaceutical industry and telecom industry.

Domain Knowledge Expert Example

A person have knowledge of hospitalization process and its major departments.


System Specification

A system specification can be a written document containing a detailed description of all aspects
of the system to be built before the project commences.

Overview
In this topic, you will get an overview of the design complexity, poorly designed software, why poorly
designed software hard to understand and modify. Adding features in poorly and well-designed software
effect on cost. 

Learning Goals
 Learn about the design complexity
 Learn about the issues with poorly designed software

What is poorly designed software?


Poorly designed means the designer did not spend a good amount of time to analysis software
requirements to design. In start, adding small features to show working product to a client is very easy but
with the passage of time, software size increased that makes it difficult to understand and make further
modifications and adding more features.

What is extendable design?


Change in software requirements and adding more features is very much natural in software development
and maintenance process. Well-designed software is easy to understand and welcomes changes in
requirements, future modifications and adding new features.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy