Course: Developer Fundamentals: Software Design and Development

$279.00
$337.59 incl. vat

duration: 10 hours |

Language: English (US) |

access duration: 180 days |

Details

In this course, you'll learn all about software design and development. Start with the object-oriented analysis and design (OOAD) methodology, vital for effective computer program development. You'll dissect how OOAD enhances your programming skills, comparing it with traditional procedural approaches. Dive into design patterns, explore object-oriented relationships, and harness an object-oriented programming (OOP) strategy for problem-solving. Discover the influential Unified Modeling Language (UML), a standardized tool for system design visualization, adaptable to different interpretations. Explore UML architecture, model types, notations, and dynamic/static diagrams, applying them to enhance project direction. Grasp software development life cycle (SDLC) models, such as waterfall, incremental, spiral, V-model, and Agile, distinguish their features and commonalities. Venture into Git, a fundamental version control system, and comprehend its integration for streamlined project management. Understand essential design patterns, SOLID principles, and best practices for systematic problem-solving. As a finale, delve into the significance of the software development life cycle (SDLC) as a structured framework for efficient software creation.

Result

After completing this course, you'll possess a powerful skill set encompassing OOAD, UML, SDLC models, Git, design patterns, and vital software development principles, propelling your career in software design and development.

Prerequisites

No formal prerequisites. It is recommended to first follow parts 1, 2 and 3 of ‘Developer Fundamentals’:

Part 1: Programming

Part 2: Webdevelopment

Part 3: Database concepts

Target audience

Software Developer

Content

Developer Fundamentals: Software Design and Development

10 hours

Software Design and Development: Software Engineering & SDLC Phases

Software development is no different from any other creative process. It involves the planning, development, controlling, testing, and maintenance of software products. The software development life cycle (SDLC) is a framework used to expand that development process into different stages, ensuring that the team works together to minimize risk, reduce cost, and deliver a high-quality product. Begin by exploring the role of software engineering in development. Then, examine the SDLC phases to discover the business needs for project analysis and project plan development. Finally, investigate development and implementation steps and learn about the importance of testing prior to deployment. Upon completion, you will be able to list all the phases of the SDLC and name a final document of each phase.

Software Design and Development: Methodologies

Most business related development processes include some kind of formal methodology. For software development we call these software development life cycle (SDLC) models and there are several of them. Learn why a software development model is needed for better software development. Discover several SDLC models including the waterfall model, incremental and spiral models, the V-model, and Agile models. Explore the features of each model and consider what they have in common. Finally, utilize comparative techniques and use cases to choose the best model for your development. After completion of this course, you'll be able to differentiate between and define popular software development methodologies.

Software Design and Development: Object-oriented Analysis and Design

In this course we adopt the object-oriented analysis and design (OOAD) methodology for developing computer programs. This methodology guides the developer into the proper structure for developing programs. We will begin by looking at this methodology to see how it helps the programmer develop better computer programs and consider how this approach compares to the traditional procedural style of software development. Next, we will discuss design patterns and take a look at how object-oriented relationships work. Finally, you will use an object-oriented programming (OOP) approach to solving programming problems and developing code based on your solutions. After completing this course, you'll be able to outline the object-oriented analysis and design (OOAD) approach to solving programming problems.

Software Design and Development: Modeling with UML

Programmers have several tools to choose from that can help make the development process easier, more streamlined, and more cost effective. One important tool is the Unified Modeling Language (UML) - a generalized modeling language that standardizes visualization of system design, giving everyone on the team one clear direction. UML helps present projects visually while maintaining the flexibility to be interpreted in different ways. Explore the many reasons for applying a UML approach to program development. Examine the architecture of UML, including the different types of models and diagrams. Learn about UML notations, and look at static and dynamic diagrams and apply use cases to each. At the end of this course, you will be able to add UML to your programmer's toolbox to design parts of an object-oriented program.

Software Design and Development: Design Patterns & SOLID Principles

Since computer programming is now a mature industry, there are some functions that almost all programs perform, such as authenticating users. These practices have been formalized into programming patterns, which are the subject of this course. We begin by discussing the need for design patterns and look at the three basic types - creational, structural, and behavioral. Next, dive deeper into each pattern type and use examples in each case. Additionally, we discuss the SOLID design principles in detail. Finally, we talk about best software design practices in a general sense. After completing this course, you'll be able to employ tried and true design patterns to solve programming problems.

Software Design and Development: Version Control System

Computer programming has matured to the point where we can develop most business applications using three distinct technologies within the client-server framework. The three tiers of presentation, logic, and database (storage) lead to separate development teams in larger companies. This three-tier development means that code must be tested and synchronized before production. For this reason, version control of the entire code as a program is implemented. Explore the history of version control software and the most popular versioning systems, including Git. Take a deep dive into Git and discover its most important features. Then, install and configure Git on your local system before using Git to configure a project and create a workflow. Finally, branch out into GitHub's features and various version control activities. After this course you will be able to implement Git as a tool to keep track of the changes in your program.

Final Exam: Software Design and Development Fundamentals

Final Exam: Software Design and Development Fundamentals will test your knowledge and application of the topics presented throughout the Software Design and Development Fundamentals track of the Skillsoft Aspire Developer Fundamentals Journey.

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact