Coder Social home page Coder Social logo

software-engineering's Introduction

Software Engineering

Unit 1
  • Software
    • Introduction
      • Set of program.
    • Characteristics
      • Functionality
      • Relability
    • Components
    • Applications
    • Software Process Model
    • Software Development Life Cycle
  • Models
    • Introduction
    • Waterfall Model
    • Spiral Model
    • Prototyping Model
  • Software Poject Management
    • Introduction
    • Concept
    • Components
  • Metrics
    • Introduction
    • Role of metrics
    • Types of Metrics
      • Product Metrics
      • Process Metrics
      • Project Metrics
    • Normalization of Metrics
      • Size Oriented Metrics
      • Function Oriented Metrics
  • Measurement
    • Introduction
    • Principles of Measurement
      • Formulation
      • Colection
      • Analysis
      • Interpretation
      • Feedback
    • Types of Measurement
      • Direct Measurement
      • Indirect Measurement
Unit 2
  • Software Project Planning
    • Objective
    • Guidelines
    • Process
    • Activities
    • Decomposition Techniques
    • Software Sizing
    • Problem Based Estimation
    • Cost estimation Model
    • COCOMO Model
    • The software Equation
  • System Analysis
    • Introduction
    • Design
    • Principles of Structured Analysis
    • Requirement Analysis
    • Software requirement Specification
    • Entity Relationship Diagram
    • Data Dictionary
    • Notations Tables of Data Dictionary
Unit 3
  • Software Design
    • Introduction

      • Mechanism to convert user requirements into sutable forms which helps the progrmmer in software coding and implementaion.
      • SRS documentaion into simple form (design).
      • Representing the clint's requirement.
      • In SDLC phase Design is the first steps to move the consentration from problem domain to solution domain.
      • Elements of a System
        • Architecture : Flowchart
        • Modules : Focus on specific task like in sign up page username section is a kind of module that only takes the name of user. Password section takes the password.
        • Component : Perform a perticular functionality like sign up page store the data of user in database. login page porvide permission to authorized user.
        • Interface : Connection of diffrent components and make a interface. eg: connection of components like signup page, login page, Home page, Product page, and Contact page makes the interface of a website.
        • Data : To manage the information of the system.
      • Levels of Software Design
        • Interface Design : UI/UX Design, Ignored Working of internal system like flow of data.
        • Architecture Design : Focused on flow of data from module to module and component to component.
        • Detailed Design : Focused on flow of the data how modules intract with other modules and components eg: modules of login page provide data to the server that gives permission to access the home page components.
    • Objective

      • Correctness : Correctly implemented.
      • Understandability : Easy to understand and implement.
      • Efficiency : consider-Resource,time & cost.
      • Maintainability : Easy to update & modify.
    • Principles

      • Should not suffer from "Tunnel Vision" : Not only focus on completing the process but also focus on other effects.
      • Tracable to analysis model : Easy to trace all the steps and follow all the software requirements to devlop high quality products.
      • Should not "Reinvent the wheel" : Don't create a thing that is already exist. It will increase the overall development.
      • Accommodate Change : Software should adjust there self according the user requirment.
      • Quality : During the evaluation of the design, the quality of the design needs to be checked and focused upon.
      • Review to discover error : During the evaluation of the design, check the comming error and improve it.
      • Design is not coding and coding is not design : Design means to implement the logical way to sovle the problem and coding means to use the programming language to solve the logic.
    • Concepts

      • Abstraction : Hidding the complex logic from user.
      • Modularity : To implement the complex component, partition the component into smaller modules each dealing with a single task.
      • Architecture : It acts as a software development blueprint and a flowchart.
      • Refinement : Refinement is removing impurities and improving the quality of something. It deals with identifying and correcting possible errors.
      • Information and data hiding : give permission to access the different module. eg: Permission like private(Restricated from outside class) and public(have access of any outside calss).
  • Methodologies
    • Introduction
      • Understand the problem
      • Focused on User requirment
      • Defining overall system design
    • Data Design
      • how data will be stored, accessed, manipulated, and secured to meet the requirements of the software application.
      • Data Modeling : Conceptual representation of data entity, attributes, relationship within a system. eg: ERD (Entity relationship diagram).ย 
      • Database design : Converting conceptual representation of data itno a physical database. eg: tables,columns,data type etc.
      • Data security and access : To provide the access to the data accroding to the importance and also use retional database like NoSql.
    • Architectural Design
      • Over all stractural of a system deals with components, intrface and communication between the modules and components. Mainly focused on modularity,scalablity and maintainability.
      • Component Identification : Deal with componet and there functionality.
      • Interface Design : Deal with communication between components.
    • Procedural Design
      • Focused area system functionality and effciently.
      • Algorithm Design : Design specific algorithm for specific task.
      • Coding : Implement by programming language.
    • Object Oriented Concepts
      • Key aspact are modularity, code reuseablity and maintainability.
      • Class : Perform specific task.
      • Object : Define functionaliy of an component using diffrent classes.
      • Inheritance : Allow sub calsses to use the specification of parent class.
      • Polymorphism : Using same code for diffrent uses also.
  • Testing
    • Introduction
      • Testing the the operation to find the error using some techiniques like verification and validation.
    • Testing Fundamentals
      • Operability
        • If a system is designed and implemented with quality in mind, relatively few bugs will block the execution of tests.
      • Observability
        • "What you see is what you test". Input provided as part of testing produce distinct outputs.
      • Cntrollability
        • "The better we can control the software, the more testing can be automated and optimized." All possible outputs can be generated through some combination of input.
      • Simplicity
        • "The less there is to test, the more quickly we can test it." The program should exhibit functional simplicity, structural simplicity, and code simplicity.
      • Understandability
        • The more information we have, the smarter we will test."
    • Objective of Software testing
      • d
    • Priciples of testing fundamentals
    • Software Testability
    • Test Cases
    • Types of test cases
    • Unit testing
    • White Box Testing
    • Black Box Testing
    • Testing Strategies
      • Validation
      • Verification
      • Integration Testing

software-engineering's People

Contributors

prince-gh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.