3 level of software design
- Architecture
- Component
- Detailed
The design process for the software has two levels. 1. system design or top-level design 2. detailed design or logic design
1. system design or top-level design 2. detailed design or logic design
1) Requirement Analysis 2) Specification. 3) Architecture. 4) Design, Implementation, and Testing. 5) Deployement and Maintenance.
Summary of software development steps: 1) Requirements: state what you want to do. What inputs will be provided, what outputs are desired. 2) Design: state how you want to do it. The platform (computer and operating system), the language(s) to be used, the architecture of the software to be built; e.g., one program to perform all the work in the requirements -- or multiple programs to accomplish specific work. Detailed design is sometimes itemized as a separate step -- but includes outlining the internal flow of the programs identified in the design architecture. 3) Implementation: code, compile, and execute software. 4) Implementation test: (or unit test) test the paths of the code to verify code execution stability -- if some input is provided to the code that you would not expect based on the design or requirements -- does the code handle the situation and keep the system stable? 5) Design testing: putting the code together in the system that was designed in step 2 and verify that it performs to the design. 6) User or verification testing: execute the software and see if it does what the user asked for in the requirements.
1. data design 2. architectural design 3. process design 4. interface design 5. procedural design
The Software development process is composed of many activities, notably the following. * Conception: Establishing a case model for the development of the software. * Requirements Analysis: Extracting the requirements of a desired software product is the first task in creating it. While customers probably believe they know what the software is to do, it is important to recognize incomplete, ambiguous or contradictory requirements. * Specification: Specification is the task of precisely describing the software to be written. What functions it should have, the user interface, and any other requirements. * Software architecture: The architecture of a software system refers to an abstract representation of that system. Architecture involves making sure the software system will meet the requirements of the product, as well as ensuring that future requirements can be addressed. The architecture step also addresses interfaces between the software system and other software products, as well as the underlying hardware and the operating system platform. * Implementation: Converting a design to functional code. * Testing: Testing all aspects of the software's functionality. * Documentation: An important task is documenting the internal design of software for the purpose of future maintenance and enhancement. * Software Training and Support: Users will have lots of questions and software problems which leads to the next phase of software. * Maintenance: Maintaining and enhancing software to cope with newly discovered problems or new requirements.
Important components of Software Engineering are: 1. Software Development Life Cycle(SDLC) 2. Software Quality Assurance 3. Software project Management 4. Software Management 5. Computer Aided Software Engineering (CASE)
1. Make the architecture 2. design building 3.put planks in it 4. add cement 5. and finish with a snack
1.Modern architecture has no boundation that's why we can design any type of building in modern architectue. 2.We can use a variety of materials now , according to our need. 3.We can use history knowledge , for designing new structures.
1. the process or art of defining the hardware and software architecture, components, modules, interfaces, and data for a computer system to satisfy specified requirements. One could see it as the application of systems theory to computing. Some overlap with the discipline of systems analysis appears inevitable. 2. Design tools such as Unified Modeling Language , UML now address some of the issues of computer systems design and interfacing.
Abstraction : 1.It provides compact design process. 2.when we consider modular solution to any problem,many levels of abstraction Can be posed. Refinement: 1.It allows more flexible design process. 2.stepwise refinement is a top-down design strategy.
Architecture is constructing a building or designing something either by a computer or person. Architecture is also for creating a system.1. The science or profession of designing and constructing buildings. 2. A style of construction. 3. Design and construction.
1 Requirements Review 2 Low Level Design Review 3 High Level Design Review 4 Code Walk-Thru