KEMBAR78
DevNet Associate - Software Development and Design Summary | PDF | Software Development Process | Json
0% found this document useful (0 votes)
13 views10 pages

DevNet Associate - Software Development and Design Summary

The document provides a summary of the Software Development and Design module, outlining the software development life cycle (SDLC) phases and methodologies such as Waterfall, Agile, and Lean. It also discusses software design patterns, version control systems, coding basics, and the importance of clean code. Additionally, it highlights the significance of data formats like XML, JSON, and YAML in API communication.

Uploaded by

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

DevNet Associate - Software Development and Design Summary

The document provides a summary of the Software Development and Design module, outlining the software development life cycle (SDLC) phases and methodologies such as Waterfall, Agile, and Lean. It also discusses software design patterns, version control systems, coding basics, and the importance of clean code. Additionally, it highlights the significance of data formats like XML, JSON, and YAML in API communication.

Uploaded by

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

7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary

3.6.1 Show Menu


Data Formats
 / Software Development and Design
/ Software Development and Design Summary
Software Development and
3
3.6.2 XML
Design 

3.6.3 JSON Software Development


3.6.4 YAML
and Design Summary
3.6.5 Parsing and Serializing
3.7.1

3.6.6
Lab - Parse Different Data Types What Did I Learn in this 
with Python
Module?
Software Development and
3.7
Design Summary 

Software Development
3.7.1 What Did I Learn in this Module?
The software development life cycle (SDLC) is the
Module 3: Software Development process of developing software, starting from an idea and
3.7.2
and Design Quiz ending with delivery. This process consists of six phases.
Each phase takes input from the results of the previous
Project Activity 2: Agile Team phase: 1. Requirements & Analysis, 2. Design, 3.
3.7.3
Formation Implementation, 4. Testing, 5. Deployment, and 6.
Maintenance. Three popular software development
models are waterfall, Agile, and Lean:
Understanding and Using
4 
APIs
Waterfall - This is the traditional software
development model. Each phase cannot overlap and
must be completed before moving on to the next
5 Network Fundamentals  phase.
Agile Scrum - In rugby, the term scrum describes a
point in gameplay where players crowd together and
Application Deployment and
6  try to gain possession of the ball. The Scrum
Security
methodology focuses on small, self-organizing teams
that meet daily for short periods and work in iterative
Infrastructure and sprints , constantly adapting deliverables to meet
7  changing requirements.
Automation
Lean - Based on Lean Manufacturing, the Lean
method emphasizes elimination of wasted effort in
Cisco Platforms and planning and execution, and reduction of programmer
8 
Development cognitive load.

https://contenthub.netacad.com/devnet/3.7.3 1/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
Software Design Pattern

Software design patterns are best practice solutions for


solving common problems in software development.
3.6.1 Show Menu
Data Formats Design patterns are language-independent. In their
Design Patterns book, the Gang of Four divided patterns
Software Development and into three main categories:
3
3.6.2 XML
Design 

• Creational - Patterns used to guide, simplify, and


3.6.3 JSON abstract software object creation at scale.

• Structural - Patterns describing reliable ways of using


3.6.4 YAML
objects and classes for different kinds of software
projects.
3.6.5 Parsing and Serializing
• Behavioral - Patterns detailing how objects can
Lab - Parse Different Data Types communicate and work together to meet familiar
3.6.6 challenges in software engineering.
with Python

Software Development and The observer design pattern is a subscription notification


3.7
Design Summary  design that lets objects (observers or subscribers) receive
events when there are changes to an object (subject or
3.7.1 What Did I Learn in this Module? publisher) they are observing.

Module 3: Software Development The Model-View-Controller (MVC) design pattern is


3.7.2 sometimes considered an architectural design pattern. Its
and Design Quiz
goal is to simplify development of applications that
Project Activity 2: Agile Team depend on graphic user interfaces.
3.7.3
Formation
Version Control Systems

Understanding and Using Version control is a way to manage changes to a set of


4 
APIs files to keep a history of those changes. There are three
types of version control systems: Local, Centralized, and
Distributed.
5 Network Fundamentals 
Git is an open source implementation of a distributed
version control system. Git has two types of repositories,
Application Deployment and local and remote. Branching enables users to work on
6 
Security code independently without affecting the main code in the
repository. In addition to providing the distributed version
Infrastructure and control and source code management functionality of Git,
7  GitHub also provides additional features such as: code
Automation
review, documentation, project management, bug
tracking, and feature requests. After installing Git to the
Cisco Platforms and client machine, you must configure it. Git provides a git
8 
Development config command to get and set Git's global settings, or a
repository's options. Git has many other commands that
you can use, including a host of branching options.
https://contenthub.netacad.com/devnet/3.7.3 2/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
Developers use a .diff file to show how two different
versions of a file have changed.

Coding Basics
3.6.1 Show Menu
Data Formats
Clean code is the result of developers trying to make their
Software Development and code easy to read and understand for other developers.
3
3.6.2 XML
Design 
Methods and functions share the same concept; they are
blocks of code that perform tasks when executed. If the
3.6.3 JSON method or function is not executed, those tasks will not
be performed. Modules are a way to build independent
and self-contained chunks of code that can be reused. In
3.6.4 YAML
most OOP languages, and in Python, classes are a means
of bundling data and functionality. Each class declaration
3.6.5 Parsing and Serializing defines a new object type.

Lab - Parse Different Data Types Code Review and Testing


3.6.6
with Python
A code review is when developers look over the
Software Development and codebase, a subset of code, or specific code changes
3.7
Design Summary  and provide feedback. The most common types of code
review processes include: Formal code review, Change-
3.7.1 What Did I Learn in this Module? based code review, Over-the-shoulder code review, and
Email pass-around.
Module 3: Software Development
3.7.2 Software testing is subdivided into two general
and Design Quiz
categories: functional, and non-functional. Detailed
Project Activity 2: Agile Team functional testing of small pieces of code (lines, blocks,
3.7.3
Formation functions, classes, and other components in isolation) is
usually called Unit Testing. After unit testing comes
Integration Testing, which makes sure that all of those
Understanding and Using individual units fit together properly to make a complete
4 
APIs application. Test-Driven Development (sometimes called
Test-First Development) is testing to validate the intent of
the design in light of requirements. This means writing
5 Network Fundamentals  testing code before writing application code. Having
expressed requirements in testing code, developers can
then write application code until it passes the tests.
Application Deployment and
6 
Security Understanding Data Formats

Infrastructure and Today, the three most popular standard formats for
7  exchanging information with remote APIs are XML, JSON,
Automation
and YAML.

Cisco Platforms and Extensible Markup Language (XML) is a derivative of


8 
Development Structured, Generalized Markup Language (SGML), and
also the parent of HyperText Markup Language (HTML).
XML is a generic methodology for wrapping textual data
https://contenthub.netacad.com/devnet/3.7.3 3/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
in symmetrical tags to indicate semantics. XML filenames
typically end in ".xml".

JavaScript Object Notation JSON), is a data format


3.6.1 Show Menu
Data Formats derived from the way complex object literals are written in
JavaScript. JSON filenames typically end in ".json".
Software Development and
3
3.6.2 XML
Design 
YAML Ain't Markup Language (YAML) is a superset of
JSON designed for even easier human readability.
3.6.3 JSON
Parsing means analyzing a message, breaking it into its
component parts, and understanding their purposes in
3.6.4 YAML
context. Serializing is roughly the opposite of parsing.

3.6.5 Parsing and Serializing

Lab - Parse Different Data Types 3.7.2


3.6.6
with Python
Module 3: Software 
Software Development and
3.7
Design Summary  Development and Design Quiz

3.7.1 What Did I Learn in this Module? 1. Which software development methodology
prescribes that developers follow a strict process
Module 3: Software Development order by completing one step in the SDLC process
3.7.2 before proceeding to the next step.
and Design Quiz

Project Activity 2: Agile Team Agile


3.7.3
Formation
Lean

Waterfall
Understanding and Using
4  Scrum
APIs

2. Which SDLC development methodology employs


5 Network Fundamentals  many quick iterations known as sprints?

Waterfall
Application Deployment and
6  Extreme Programming
Security
Agile
Infrastructure and Lean
7 
Automation

3. Which two programming components are defined


Cisco Platforms and as blocks of code that perform tasks when
8  executed? (Choose two.)
Development

functions
https://contenthub.netacad.com/devnet/3.7.3 4/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
objects

parameters

methods
3.6.1 Show Menu
Data Formats
arguments
Software Development and
3
3.6.2 XML
Design 
4. A developer wants to find the location of the Python
3 executable file. Which command should the
3.6.3 JSON developer use?

where python3
3.6.4 YAML
which python3

3.6.5 Parsing and Serializing locate python3

find python3
Lab - Parse Different Data Types
3.6.6
with Python
5. Which SDLC phase concludes with functional code
Software Development and that satisfies customer requirements and is ready to
3.7
Design Summary  be tested?

testing
3.7.1 What Did I Learn in this Module?
deployment
Module 3: Software Development
3.7.2 maintenance
and Design Quiz
implementation
Project Activity 2: Agile Team
3.7.3
Formation
6. What are the three states of a Git file? (Choose
three.)
Understanding and Using
4  secured
APIs
staged

5 Network Fundamentals  committed

deleted

Application Deployment and modified


6 
Security
locked

Infrastructure and 7. Which term is used to describe the first line of an


7 
Automation XML document?

Cisco Platforms and introduction


8 
Development opening

preamble

https://contenthub.netacad.com/devnet/3.7.3 5/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
prologue

8. How does an application use a module in Python?

3.6.1 Show Menu


Data Formats through the import statement

Software Development and by using an assignment statement with a


3
3.6.2 XML
Design 
variable

through the include statement


3.6.3 JSON
by calling the module name

3.6.4 YAML
9. What is the role of the controller component in the
Model-View-Controller (MVC) flow?
3.6.5 Parsing and Serializing
It provides visual representations and
Lab - Parse Different Data Types presentations of the data.
3.6.6
with Python
It accepts selected data and displays it to the
Software Development and user.
3.7
Design Summary 
It takes in user input and manipulates it to fit the
format for the model or view.
3.7.1 What Did I Learn in this Module?
It takes user input and manipulates it to the
proper format for the model.
Module 3: Software Development
3.7.2
and Design Quiz
10. Which code review method involves the developer
Project Activity 2: Agile Team going through the code line-by-line with the
3.7.3
Formation reviewer, allowing the developer to make changes
on the spot?

Understanding and Using


4  change-based
APIs
email pass-around

over-the-shoulder
5 Network Fundamentals 
formal

Application Deployment and


6 
Security
Check

Infrastructure and
7  Show Me
Automation

Reset
Cisco Platforms and
8 
Development

https://contenthub.netacad.com/devnet/3.7.3 6/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary

3.7.3

Project Activity 2: Agile Team 


Show Menu
3.6.1 Data Formats Formation
Software Development and
3
3.6.2 XML
Design 
In this activity, you will complete the following tasks:
3.6.3 JSON
Choose a project.
Build an agile team.
3.6.4 YAML Assign project roles.
Select communication channels that will facilitate the
3.6.5 Parsing and Serializing team’s work.

Lab - Parse Different Data Types Refer to the DEVASC Project Rubric below to record your
3.6.6 process and outcomes.
with Python

Software Development and Working in technology today means working


3.7
Design Summary  collaboratively and effectively as a cross-functional team.
To prepare for the continuous and accelerating pace of
3.7.1 What Did I Learn in this Module? change, you need to:

Think critically about issues, solve problems creatively


Module 3: Software Development
3.7.2 Work collaboratively
and Design Quiz
Communicate clearly in multiple media channels
Project Activity 2: Agile Team Quickly learn ever-changing technologies
3.7.3
Formation Deal with a flood of information

The rapid changes in our world require you to be flexible,


Understanding and Using
4  take the initiative, lead when necessary, and to produce
APIs
something new and useful.

5 Network Fundamentals 
Scenario
You have been hired as a junior automation engineer to
Application Deployment and help your company automate its IT infrastructure. You are
6  working on a daily basis with Python-based automation
Security
code directly on your computer. However, your team is
expanding with new members and now, you all need a
Infrastructure and way to collaboratively work on the code. Your manager
7 
Automation requires all members to move the code from their
individual computers to GitHub and to collaborate with
Cisco Platforms and the team through the GitHub platform.
8 
Development
1. Choose Agile Team Roles
https://contenthub.netacad.com/devnet/3.7.3 7/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
Your team will now create a formal agile team. Each
member of your team will have a role during this project.
The specific tasks that each team member performs
during the project will be decided later.
3.6.1 Show Menu
Data Formats
The roles of an agile team may vary depending on:
Software Development and
3
3.6.2 XML
Design 
The size of the team
The nature of the task
3.6.3 JSON Company best-practices and policies

3.6.4 YAML Scrum Leader

At a minimum, an agile team will have a "scrum leader".


3.6.5 Parsing and Serializing
The scrum leader will help obtain any resources needed
and take the lead in resolving any questions or problems
Lab - Parse Different Data Types the team may have. This role makes use of the "soft skills"
3.6.6
with Python of project management and communication.

Software Development and Note: The original term is "scrum master." In April 2019,
3.7
Design Summary 
the IETF began work on a new Internet-Draft RFC,
Terminology, Power and Oppressive Language. This RFC
3.7.1 What Did I Learn in this Module? describes alternatives that shift specific language
conventions used by RFC Authors and RFC Editors to
Module 3: Software Development avoid oppressive terminology in the technical
3.7.2
and Design Quiz documentation of the RFC series. The RFC refers
specifically to the "master-slave" metaphor as offensive.
Project Activity 2: Agile Team The authors of this course have decided to replace the
3.7.3
Formation term "master" with "leader."

At this point, your team will now select a scrum leader.


Understanding and Using
4  The responsibilities of the scrum leader include:
APIs

1. Clearing any obstacles or problems that may arise.


2. Establishing an environment in which the team can
5 Network Fundamentals 
work and communicate effectively.
3. Addressing team dynamics to ensure that team
Application Deployment and members are supportive and working together.
6  4. Protecting the team from outside interruptions and
Security
distractions and acting as the intermediary between
the team and the project owner (instructor).
Infrastructure and 5. Ensuring that the information required by the rubric is
7 
Automation documented. (The actual documentation may be done
by a recorder.)

Cisco Platforms and


8  Rubric/Deliverable:
Development

Record the name of your scrum leader.

https://contenthub.netacad.com/devnet/3.7.3 8/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
How did your team select the scrum leader?

Note: Your instructor may choose to have a rotating scrum


leader.
3.6.1 Show Menu
Data Formats

Software Development and


Recorder
3
3.6.2 XML
Design 
Select someone to be the recorder. This person will be
responsible for entering and maintaining the DEVASC
3.6.3 JSON
Project Rubrics. Other responsibilities of the recorder
include:
3.6.4 YAML
Recording all meeting days and times.
Working with the scrum leader to ensure the
3.6.5 Parsing and Serializing
information in the rubrics is accurate and complete.

Lab - Parse Different Data Types


3.6.6 Note: In a smaller team (less than four people) the scrum
with Python
leader may also assume the role of recorder.

Software Development and


3.7
Design Summary  Other Roles
Search the internet for "agile team roles" and discuss as a
3.7.1 What Did I Learn in this Module?
team if any other roles at this point are necessary. Your
team can always make changes and adjustments
Module 3: Software Development
3.7.2 throughout the project.
and Design Quiz

3.7.3
Project Activity 2: Agile Team 2. Team Communications
Formation
In the final step of this activity you decide how your team
will communicate and collaborate during this process.
Understanding and Using
4  Discuss some of the various tools which are available to
APIs
everyone such as:

WebEx Teams, or other instant messaging platform


5 Network Fundamentals  Webex Meetings, or another video communications
platform
Email
Application Deployment and
6  Scheduled meetings
Security

Document the methods your team will be using and make


Infrastructure and sure everyone on the team has access these tools.
7 
Automation
Rubric/Deliverable: Document the communication tools
your team will be using and the purposes of each.
Cisco Platforms and
8 
Development
The Rubric/Deliverables for this activity were:

https://contenthub.netacad.com/devnet/3.7.3 9/10
7/23/24, 9:00 AM DevNet Associate -Software Development and Design Summary
Scrum leader information
Other Agile team roles if applicable
Team communication tools and purpose of each

3.6.1 Show Menu


Data Formats  Project Activity 2 - …

Software Development and


3
3.6.2 XML
Design 

 
3.6 4.0

3.6.3 JSON Understanding Data… Introduction

3.6.4 YAML

3.6.5 Parsing and Serializing

Lab - Parse Different Data Types


3.6.6
with Python
  DevNet Associate
Software Development and
v1.0

3.7
Design Summary 

3.7.1 What Did I Learn in this Module?

Module 3: Software Development


3.7.2
and Design Quiz

Project Activity 2: Agile Team


3.7.3
Formation

Understanding and Using


4 
APIs

5 Network Fundamentals 

Application Deployment and


6 
Security

Infrastructure and
7 
Automation

Cisco Platforms and


8 
Development

https://contenthub.netacad.com/devnet/3.7.3 10/10

You might also like