Skip to content

pkvsinha/notebook

Repository files navigation

Software Engineering - notebook

From abstract idea or concept to a real working copy...

The field to study the development of software application, standardzing and specifying the systematic approach to software development. The concepts introduced here may not be applicable for developing programs intented to simpler jobs or very small application whose life or scope is relatiely small. For example, a program to echo will require nothing that we discuss for one thing that it is very small and triial problem and for another it may never change. When the size of the application grows, the problem that it solves is hguely complex, requires tens of people to work and collaborate, then the principles discussed here would make sense and will enable to achieve software with high quality and does what it is intended to do.

At the end what matters is your logic, algorithms and data processing; software engineering teaches you how to write organized and maintainable code.

The phases in software developmemnt are - Requiurement analysis, Design, Implementation, Validating, Maintaining. There are varios software process models to develop a software application like Waterfall, Spiral, Prototyping, RUP, Agile. These methodolgies defines the stages of software development lifecycle and ansswers questions like when to move to next phase, how to seqeunce the phase. The choice of a particular model can affected by, shcedule, people, expertise...

Phases

Requiurement Analysis

Design

Design may requier modelling. At this stage you may not need any code or coputer infrastructre. It is still a conceptual phase, and here you would want to simply test and draw your concepts and may simply try to relalize them through fihures and diagrams.

  • Class diagram
  • Object diagram
  • Component diagram
  • Package diagram
  • Profile diagram
  • Package diagram
  • Deployment diagram

Immplementation

Validating

Maintaining

Process Model

A proces model is suited for certain type of application. For example, waterfall model will be best siuted for developing a control software like an aeroplane software, while an e-commerce application can be developed using agile or sprial or protypinng model.

Common Mistakes

Knowledge of choices and decisions which has led to mistakes and at times into disastor oftem leads to better softare application development. They will be different based on the life cycle phase of the applications. They are also called as anti-patterns.

  1. Adding people when project is already delayed.
  2. Gold Plating
  3. Analysis paralyis
  4. Silver bullet

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published