Posts

Prototyping Model : Software Engineering

stakeholders better understand what is to be built when the requirements are fuzzy. eg. fitness app sync user interface screens, social integration, fitness goals and share progress requirements quick planning of prototyping iteration. modelling (quick design)-focus on parts visible to end users. evaluation of stake holders- to satisfy various needs and better understand what needs to be done. users get to feel actual system and developers get to build something quickly. Limitations: developers may need to discard a prototype to meet the customers' evolving needs. if not careful, less than ideal choices become the integral part of the evolving system. customers involvement may cause delays.

Need of Software and Software Engineering

  Nanotechnology is emerging. Software used in telecommunications are extension of existing ones. Media (Digital News, electronic papers, Videos & Audio effects used). Consumer purchasing are increased using mobile devices. Government services (national infrastructures and utilities, financial systems) are all software based. Society (Industries, Manufacturing, Distribution, Entertainment, Mobiles) are all software based. National / International Business and Institutions are all software based. Different software engineering methods and techniques are needed for different software to produce reliable and trustworthy systems economically and quickly. eg. Aircraft control system must be safe, an interactive game must be responsive, a telephone switching system must be reliable. Large systems need a stable framework or architecture. Responsibilities of different teams working on parts of system need to be clearly defined with respect to that architecture.

David Hooker's 7 principles that focus on software engineering practice

  The reason it all exists. KISS(Keep it simple stupid!)-  It often takes lot of thoughts and work over multiple design iterations. Maintain the vision.-  what if the architectural vision is compromised? What you produce, others will consume. Be open to the future. Plan ahead for reuse. Think!

Software Vs Programs

   Software = Program + Associated documentation, libraries, support web sites and configuration data needed to make program useful.

Waterfall Model : Software Engineering

   Waterfall Model (Linear Sequential Model)  Phases: Requirements analysis and definition. System and software design. Implementation and unit testing. Operation and maintenance. Short Description used when requirements are well defined and reasonably stable. eg. adaptation of accounting software to accommodate changes to mandated government regulations. safety critical software are usually developed using waterfall model as lots of analysis and documentation is required before implementation begins. subsystems within a large system may be developed using different approaches. Parts of system that are well understood can be specified and developed using waterfall process model. Appropriate for: Embedded Systems Critical Systems. Larger software systems that are part of broader engineering systems developed by several partner companies. Limitations: difficult for customers to state all requirements explicitly at the beginning of most projects. customers must have patience...