Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems, preferentially by applying scientific knowledge, developing software systems in the service of mankind. This course covers the fundamentals of software engineering, including understanding system requirements, finding appropriate engineering compromises, effective methods of design, coding, and testing, team software development, and the application of engineering tools. The course will combine a strong technical focus with a capstone project providing the opportunity to practice engineering knowledge, skills, and practices in a realistic development setting with a real client.
Upon successful completion of the course, the learner will be able to
How to apply the software engineering lifecycle by demonstrating competence in communication, planning, analysis, design, construction, and deployment. An ability to work in one or more significant application domains.
Demonstrate an understanding of applying current theories, models, and techniques that provide a basis for software lifecycle
Demonstrate an ability to utilize the techniques and tools necessary for engineering practice.
To acquire knowledge on how to use available resources to develop software, reduce cost of software and how to maintain quality of software.
Methods and tools of testing and maintenance of software.
Software engineering shares common interest with other engineering disciplines.The software development process also comprises a number of steps or phases. The main objective of software engineering is to develop methods for large systems, which help developers obtaining high-quality software in minimum time and at low cost. Therefore, it is essential to perform software development in phases. This phased development of software is often referred to as the software development life cycle (SDLC).
A use case diagram at its simplest is a representation of a user's interaction with the system that shows the relationship between the user and the different use cases in which the user is involved.UML Use Case Diagrams are usually referred to as behavior diagrams used to describe a set of actions (use cases) that some system or systems (subject) should or can perform in collaboration with one or more external users of the system (actors).
Activity diagram is another important diagram in UML to describe the dynamic aspects of the system. Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The activity can be described as an operation of the system. The control flow is drawn from one operation to another.
In this module you will be exposed to ERD Modelling.An ERD also known as an entity relationship model, is a graphical representation of an information system that depicts the relationships among people, objects, places, concepts or events within that system.
Structured Query Language, is a language that lets users communicate with a database. For virtually all relational database management systems, SQL is the preferred method of communication. The idea of SQL is common in most tech-friendly businesses, but the reality is that few people have a working understanding of this language.SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system, or for stream processing in a relational data stream management system.
Application Specific queries includes subquery/Nested query and Joins.A MySQL subquery is called an inner query. The inner select query is usually used to determine the results of the outer select query.MySQL JOINS are used to retrieve data from multiple tables. MySQL supports the following types of joins: Cross join, Inner join, Left join, Right join. In this module,let us learn in detail about Subqueries / Nested Queries and the different types of Joins.
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.
Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data.Object Oriented programming is a programming style which is associated with the concepts like class, object, Inheritance, Encapsulation, Abstraction, Polymorphism... An object-based application in Java is based on declaring classes, creating objects from them and interacting between these objects.
Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity.JDBC allows multiple implementations to exist and be used by the same application. The API provides a mechanism for dynamically loading the correct Java packages and registering them with the JDBC Driver Manager. The Driver Manager is used as a connection factory for creating JDBC connections.
The Data Access Object (DAO) pattern is a structural pattern that allows us to isolate the application/business layer from the persistence layer using an abstract API.The functionality of this API is to hide from the application all the complexities involved in performing CRUD operations in the underlying storage mechanism. This permits both layers to evolve separately without knowing anything about each other.
A business object is an actor within the business layer of a layered object-oriented computer program that represents a part of a business or an item within it. A business object represents a data client and can be implemented as an entity bean, a session bean or another Java object. A business object can take the form of a data array but is not a database itself. It represents business entities such as an invoice, a transaction or a person. Business objects are inherently scalable due to the architecture of object-oriented software applications.
The user interface (UI) is everything designed into an information device with which a person may interact. This can include display screens, keyboards, a mouse and the appearance of a desktop. It is also the way through which a user interacts with an application or a website.
Unit testing is a critical part of any software development process. JUnit is an open-source testing tool specialized for Java, and it should be part of every Java developer's toolbox.JUnit is a unit testing framework for Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks collectively known as xUnit, that originated with JUnit.
Functional testing is a type of software testing whereby the system is tested against the functional requirements/specifications. Functions are tested by feeding them input and examining the output. Functional testing ensures that the requirements are properly satisfied by the application.Functional testing is a quality assurance process and a type of black-box testing that bases its test cases on the specifications of the software component under test.
User acceptance testing (UAT) is the last phase of the software testing process. During User acceptance testing, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.
Learning through E-Box is completely Hands-on and practice based thereby helping you understand the intricacies of Live Project Scenarios
E-Box’s programs and Courses are designed by Professionals in the Industry & Academicians, assuring a quality learning experience
With 100’s Mentors online ready to get your Doubts clarified and to Hand Hold you, you will always have someone to sort things our for you
All our Mentors are Top Professionals from their respective Industries. In E-Box you Learn and get mentored by professionals
Auto Evaluation is the Core of E-Box. Your solutions and answers are evaluated instantaneously by E-Box, thereby saving learners a lot of time
With Auto - Evaluation being the core of the Platform, E-Box uses AI & ML to assist Learners during their course of Study
E-Box’s AI algorithms provide you with Exercises that are Personalised and Adaptive based on your Interest and Calibre
Data becomes the core for evolving a personalised learning. E-Box uses these metrics for an Auto Corrective Learning Process