Industrial Training viva:- 28/12/2020 time 9.00am to 10.00am
Seminar presentation:- 29/12/2020 time 9.00am to 10.00am
Industrial Training viva:- 28/12/2020 time 9.00am to 10.00am
Seminar presentation:- 29/12/2020 time 9.00am to 10.00am
Title:- B-Trees and B+ Trees
Disks usually connected directly to computer system
Disk interface standards families
Parallel ATA (PATA) ( AT Attachment) also known as ATA or IDE is standard interface for IBM computers
1. Abstraction:-Abstraction is the act of representing essential features without including the background details or explanations. the abstraction is used to reduce complexity and allow efficient design and implementation of complex software systems. Many levels of abstraction can be posed.
At the highest level of abstraction, a solution is stated in broad terms using the language of the problem environment. At lower levels of abstraction, a more detailed description of the solution is provided.
As different levels of abstraction are developed, you work to create both procedural and data abstractions. A procedural abstraction refers to a sequence of instructions that have a specific and limited function. The name of a procedural abstraction implies these functions, but specific details are suppressed. A data abstraction is a named collection of data that describes a data object.
2. ARCHITECTURE- Architecture serves as a blueprint for a system.
Structure organization of program components (modules) and their interconnection
The architectural design can be represented using one or more of a number of different models. Structural models: Represent architecture as an organized collection of program components.
Framework models: Increase the level of design abstraction by attempting to identify repeatable architectural design frameworks that are encountered in similar types of applications. It represents the design in more abstract way
Dynamic models : Address the behavioral aspects of the program architecture, indicating how the structure or system configuration may change as a function of external events.
Process models :Focus on the design of the business or technical process that the system must accommodate.
Functional models can be used to represent the functional hierarchy of a system.
3. Pattern- a repeated form
The pattern simply means a repeated form or design in which the same shape is repeated several times to form a pattern. The pattern in the design process means the repetition of a solution to a common recurring problem within a certain context.
4. REFINEMENT
Process of elaboration from high level abstraction to the lowest level abstraction. High level abstraction begins with a statement of functions. Refinement causes the designer to elaborate providing more and more details at successive level of abstractions Abstraction and refinement are complementary concepts.
5. Refactoring -- Organization technique that simplifies the design of a component without changing its function or behavior. a reorganization technique that simplifies the design. Examines for redundancy, unused design elements and inefficient or unnecessary algorithms.
6. Modularity
Software design,
Preliminary and detailed design activities,
Difference between analysis and design
Items developed during the software design phase
Characteristics of a good software design
Features of a design document
Behavioral Model is specially designed to make us understand behavior and factors that influence behavior of a System.
Behavioral models are models of the dynamic behavior of the system as it is executing.
Behavioral models describe the internal behavior of a system
Class-Responsibility-Collaborator (CRC) Modeling
Class-responsibility-collaborator (CRC) modeling [Wir90] provides a simple means for identifying and organizing the classes that are relevant to system or product requirements. Ambler [Amb95] describes CRC modeling in the following way:
"A CRC model is really a collection of standard index cards that represent classes. The cards are divided into three sections. Along the top of the card you write the name of the class. In the body of the card you list the class responsibilities on the left and the collaborators on the right."
In reality, the CRC model may make use of actual or virtual index cards. The intent is to develop an organized representation of classes.
Responsibilities are the attributes and operations that are relevant for the class. Stated simply, a responsibility is “anything the class knows or does” [Amb95].
Collaborators are those classes that are required to provide a class with the information needed to complete a responsibility. In general, a collaboration implies either a request for information or a request for some action.
What is class based modeling
Class-based modeling represents the objects that the system will manipulate, the operations (also called methods or services) that will be applied to the objects to effect the manipulation, relationships.
Class-oriented models that represent object-oriented classes (attributes and operations) and the manner in which classes collaborate to achieve system requirements
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/
Software Measures can be understood as a process of quantifying and symbolizing various attributes and aspects of software.
Software Metrics provide measures for various aspects of software process and software product.
Software measures are fundamental requirement of software engineering. They not only help to control the software development process but also aid to keep quality of ultimate product excellent.
According to Tom DeMarco, a (Software Engineer), “You cannot control what you cannot measure.” By his saying, it is very clear how important software measures are.
Let us see some software metrics:
Size Metrics - LOC (Lines of Code), mostly calculated in thousands of delivered source code lines, denoted as KLOC.
Function Point Count is measure of the functionality provided by the software. Function Point count defines the size of functional aspect of software.
Quality Metrics - Defects, their types and causes, consequence, intensity of severity and their implications define the quality of product.
The number of defects found in development process and number of defects reported by the client after the product is installed or delivered at client-end, define quality of product.
System analyst in an IT organization is a person, who analyzes the requirement of proposed system and ensures that requirements are conceived and documented properly & correctly. Role of an analyst starts during Software Analysis Phase of SDLC. It is the responsibility of analyst to make sure that the developed software meets the requirements of the client.
System Analysts have the following responsibilities:
Mid term will for software Engineering and DBMS will be conducted as per schedule:
CA1 for Software Engineering and DBMS will be conducted on 30 October 2020
Syllabus for Mid term test:
SE: Syllabus for Mid term test: Lectures 1 to 11.
DBMS: Unit 1 and Unit 2
----------------------------------------------------------------------------
Syllabus for CA 1:
SE: Unit 1
DBMS: Unit 1
https://drive.google.com/file/d/1QxvGAd60xv5rjUW-3we4UhHr30RLjOsZ/view?usp=sharing
The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used in software development to help businesses respond to unpredictability which refer to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The primary goal of being Agile is empowered the development team the ability to create and respond to change in order to succeed in an uncertain and turbulent environment.
The Rapid Application Development Model was first proposed by IBM in 1980’s. The critical feature of this model is the use of powerful development tools and techniques.
A software project can be implemented using this model if the project can be broken down into small modules wherein each module can be assigned independently to separate teams. These modules can finally be combined to form the final product.
Development of each module involves the various basic steps as in waterfall model i.e analyzing, designing, coding and then testing, etc. as shown in the figure.
Another striking feature of this model is a short time span i.e the time frame for delivery(time-box) is generally 60-90 days.
UNIT I Software Development Process: Software crisis and myths, Software process and development: Generic view of process, Software life cycle and models, Analysis and comparison of varies models, an agile view of process.
UNIT II Requirement Engineering: Requirements engineering tasks, Initiating requirement engineering process, Eliciting requirement, developing use-cases, Building the analysis model, Negotiating and validating requirement, Building the analysis model.
UNIT III System Design Overview: Design process and design quality, Design concepts, Design model, Pattern based software design, Architectural design, User interface design. UML: Different methods: Rambaugh / Booch / Jakobsons, Need for standardization. Developing diagrams in UML (Use CASE, Class, Interaction, State diagrams) CASE TOOLS.
UNIT IV Validation and Testing: Strategic approach to Software testing, Strategic issues, Test strategies for conventional software, Validation testing, System testing, Debugging. White box testing and Black box testing.
UNIT V Web Engineering: WebApps engineering layers, Web engineering processes planning for web engineering projects, Project management issue for web engineering. Metrics, Requirement analysis, Analysis models for web engineering design for WebApps, testing for WebApps.
UNIT VI Planning and Management of Project: Project management, Metrics for process and projects, Estimation, Project scheduling, Risk management, Importance of software quality and measurements software engineering techniques for quality assurance, and Change management. ISO 9000 and CMM/PCMM.
Text Books 1. Roger S. Pressman, “Software Engineering”, Tata McGraw-Hill, 6th Edition, 2006. 2. G. Booch, J. Rambaugh, and I. Jacobson, “The Unified Modeling Language User Guide”, Addison Wesley, 2nd Edition, 2005. Reference Books: 1. Shari Pfleeger, “Software Engineering”, Pearson Education, 3rd Edition, 2008. 2. Ian Sommerville, “Software Engineering”, Pearson Higher Education, 10th Edition, 2016. 3. Pankaj Jalote, “An Integrated Approach to Software Engineering”, Springer New York, 2nd Edition, 2013.
In simple words, a Language which is used to store and retrieve data from database is known as query language. For example – SQL
There are two types of query language:
1.Procedural Query language
2.Non-procedural query language
In procedural query language, user instructs the system to perform a series of operations to produce the desired results. Here users tells what data to be retrieved from database and how to retrieve it.
For example – Let’s take a real world example to understand the procedural language, you are asking your younger brother to make a cup of tea, if you are just telling him to make a tea and not telling the process then it is a non-procedural language, however if you are telling the step by step process like switch on the stove, boil the water, add milk etc. then it is a procedural language.
Relational algebra is a conceptual procedural query language used on relational model.
In Non-procedural query language, user instructs the system to produce the desired result without telling the step by step process. Here users tells what data to be retrieved from database but doesn’t tell how to retrieve it.
Relational calculus is a conceptual non-procedural query language used on relational model.
Note: while describing relational algebra and relational calculus, because they are theoretical mathematical system or query language, they are not the practical implementation, SQL is a practical implementation of relational algebra and relational calculus.
Relational algebra and calculus are the theoretical concepts used on relational model.
RDBMS is a practical implementation of relational model.
SQL is a practical implementation of relational algebra and calculus.
Relational algebra is a procedural query language, which takes instances of relations as input and yields instances of relations as output. It uses operators to perform queries. An operator can be either unary or binary. They accept relations as their input and yield relations as their output.
Relational Model was proposed by E.F. Codd to model data in the form of relations or tables. After designing the conceptual model of Database using ER diagram, we need to convert the conceptual model in the relational model which can be implemented using any RDMBS languages like Oracle SQL, MySQL etc. So we will see what Relational Model is.
Unit 1:
Lecture 1: PPT Definition, characteristics, Myths,Crisis
Lecture 3: PPT SDLC, Build and fix, water fall, iterative
Lecture 4: PPT Prototype model
Lecture 5: PPT1 PPT2 Spiral model , V model
Lecture 6: RAD model
Lecture 7: Agile Model Agile Model and Scrum
Unit 2:
Lecture 9: Classification of Software requirements , Functional vs Non-functional Requirements
Lecture 10: Characteristics of Good SRS
Lecture 11: Requirement Engineering 7 Tasks
Lecture 12: Who is System Analyst? Software Metrics
Lecture 13: requirement analysis and Modeling
scenario based modeling
Lecture 14: scenario based modeling 1) use case
Lecture 15: Use case symbols etc 2) activity diagram
Lecture 16: How to draw Activity diagram
Class based modeling
Lecture 17: what is class based modeling 1) Class Diagram 2) Class-Responsibility-Collaborator (CRC) Modeling
Behavioral Modeling
Lecture 18: What is Behavioral Model? state diagram sequence diagram
Flow oriented model