Knowledge in software requirements

software engineering

software engineering is the subject that describes the procedure to develop a particular software and levels of procedure that is software design,coding,testing,management.

Software Engineering notes for Bs Cloud Computing sem 06 REVA University 2019

following docs contains information regarding the software engineering curriculum for Bs cloud computing and big data 6th sem REVA University. Contains basic knowledge related to: software engineering software requirements software design system software software project software testing software design

SYSTEM SOFTWARE

There are two main types of software: systems software and application software. Systems software includes the programs that are dedicated to managing the computer itself, such as the operating system, file management utilities, and disk operating system (or DOS). System software is a software that provides platform to other softwares. Some examples can be operating systems, antivirus softwares, disk formating softwares, Computer language translators etc. These are commonly prepared by the computer manufacturers. These softwares consists of programs written in low-level languages, used to interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users. The most important features of system software include : 1. Closeness to the system 2. Fast speed 3. Difficult to manipulate 4. Written in low level language 5. Difficult to design Operating System An operating system (OS) is a type of system software that manages computer’s hardware and software resources. It provides common services for computer programs. An OS acts a link between the software and the hardware. It controls and keeps a record of the execution of all other programs that are present in the computer, including application programs and other system software. The most important tasks performed by the operating system are 1. Memory Management: The OS keeps track of the primary memory and allocates the memory when a process requests it. 2. Processor Management: Allocates the main memory (RAM) to a process and de-allocates it when it is no longer required. 3. File Management: Allocates and de-allocates the resources and decides who gets the resources. 4. Security: Prevents unauthorized access to programs and data by means of passwords. 5. Error-detecting Aids: Production of dumps, traces, error messages, and other debugging and error-detecting methods. 6. Scheduling: The OS schedules process through its scheduling algorithms. Compiler : A compiler is a software that translates the code written in one language to some other language without changing the meaning of the program. The compiler is also said to make the target code efficient and optimized in terms of time and space. A compiler performs almost all of the following operations during compilation: preprocessing, lexical analysis, parsing, semantic analysis (syntax-directed translation), conversion of input programs to an intermediate representation, code optimization and code generation. Examples of compiler may include gcc(C compiler), g++ (C++ Compiler ), javac (Java Compiler) etc. Interpreter : An interpreter is a computer program that directly executes, i.e. it performs instructions written in a programming or scripting language. Interpreter do not require the program to be previously compiled into a machine language program. An interpreter translates high-level instructions into an intermediate form, which is then executes. Interpreters are fast as it does not need to go through the compilation stage during which machine instructions are generated. Interpretter continuously translates the program until the first error is met. If an error comes it stops executing. Hence debugging is easy. Examples may include Ruby, Python, PHP etc. Assembler : An assembler is a program that converts assembly language into machine code. It takes the basic commands and operations and converts them into binary code specific to a type of processor. Assemblers produce executable code that similar to compilers. However, assemblers are more simplistic since they only convert low-level code (assembly language) to machine code. Since each assembly language is designed for a specific processor, assembling a program is performed using a simple one-to-one mapping from assembly code to machine code. On the other hand, compilers must convert generic high-level source code into machine code for a specific processor.

Software Process

Software project management is an art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled. This is ppt created by Nirma University Faculty Prof. Daiwat Vyas

Project Management

Project management is the practice of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time. This ppt is created by Nirma faculty Prof. Daiwat Vyas.

Software Requirements

A software requirements specification (SRS) is a detailed description of a software system to be developed with its functional and non-functional requirements. This ppt is created by Nirma University Prof. Daiwat Vyas.

Requirement Modelling- Software Engineering

Requirement Modelling uses a combination of text and diagrammatic forms to depict requirements in a way that is relatively easy to understand and to review for correctness, completeness and consistency.It is important for validating software requirements from different points of view.

Requirement Engineering

This will show what is the requirement of this software Engineering

Software Testing Strateigies

Software testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user. A good test has a high probability of finding an error.

Process and Project Metrics & Estimation of Software Projects

Software process and project metrics are quantitative measures that enable software engineers to gain insight into the efficiency of the software process and the projects conducted using the process framework.

Maintenance and Re-engineering in Software Engineering

Software is released to end-users, and within days, bug reports filter back to the software engineering organization. All of this work is software maintenance. Software re-engineering is vital to restore and reuse the things inherent in the existing software, put the cost of software maintenance to the lowest in the control and establish a basis for the development of software in the future.

Kubernetes KUDO

Following Document contains information regarding Kubernetes and its application regarding Kubernetes KUDO