1 / 16

Review

Review. The need for software engineering Processes Waterfall Iterative waterfall Evolutionary Formal systems Reuse-oriented Iterative Incremental Spiral. Barzun's Laws of Learning.

nerice
Download Presentation

Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review • The need for software engineering • Processes • Waterfall • Iterative waterfall • Evolutionary • Formal systems • Reuse-oriented • Iterative • Incremental • Spiral

  2. Barzun's Laws of Learning The simple but difficult arts of paying attention, copying accurately, following an argument, detecting an ambiguity or a false inference, testing guesses by summoning up contrary instances, organizing one's time and one's thought for study -- all these arts -- cannot be taught in the air but only through the difficulties of a defined subject. They cannot be taught in one course or one year, but must be acquired gradually in dozens of connections.

  3. The software design process

  4. The testing process

  5. System evolution

  6. Requirements document • Supported activity list • HCI description • Solved problems list • Information sources list • Information-requesting organizations • Checks and Balances • Security and fault-tolerance requirements • Interoperating systems list • Estimates of information capacity and growth • Project time frame • Prioritization of requirements • Ethical concerns

  7. Eliciting and Validating Requirements – Start of Design • Informal Scenarios • Detailed walkthrough of scenario • UCCD – Use-case centered design • Use-cases – Use-case diagrams • Scenarios • Primary Classes • Nouns  classes • Properties (State, service, multiple/common attributes/methods, essential requirement)

  8. UML • Use-Case diagrams • Deployment Diagrams • Class Diagrams • State Diagrams • Sequence diagrams • Object diagrams

  9. Architecture • Skeleton • Top level design of system • Persistence • HCI

  10. Design with Reuse • Component-based development • Provides/Requires interfaces • Frameworks - MVC • Application families • Resource management system – specialized for LMS • Design Patterns • Observer

  11. Architecture - Distributed • Performance • Security • Safety • Availability • Maintainability • Models • Repository, Client-server, centralized/event-triggered control, Object Models

  12. Distributed Systems • Client-server • Server-consumer model • Data management, application processing, presentation • Thin and fat clients • Three Tier Architectures • Distributed objects • Peer to peer • CORBA

  13. ORB-based object communications

  14. Verification and Validation • Verification • Are we building the product right? • Validation • Are we building the right product? • Unit and integration testing • Black box versus White box testing

  15. Engineer Software Engineer Responsibilities:·Design and develop in C tests to validate ASIC hardware and software features and functionality·Design and develop tests for hardware and software specification conformance·Analyze protocol and software design - code, and create detailed test descriptions ·Develop software and/or system configurations to execute test descriptions·Execute test in VERA simulator, on FPGA boards, or on a system-level box Key Role: Contribute significantly to a project involving the design and development of software for a scanning and message forwarding system. Qualifications: • BS or MS degree in CS • 2+ years of experience in C++ programming • Experience with Java and object-oriented analysis and design • Experience with Sun workstations running Solaris • Experience with using tools such as Rogue Wave and Purify

  16. More : The responsibilities of this role include:Defining the functional requirements of the ApplicationsSoftware solution and designs solution to meet those requirementsAnalyzing situations or data to determine feasibility of design within time and cost requirementsDesigning and developing Software applicationsConsulting with other engineering staff to evaluate interface between hardware and software to maximize performance of the applicationsWriting code for individual components of Multi-Tier applicationsBuilding and executing Database Server scriptsMaintaining documentation of code and performs bug fixesConsulting with clients concerning maintenance of applications

More Related