Introduction to Software Engineering
Introduces the basic concepts, modern tools, and techniques of software engineering, emphasizing the development of reliable and maintainable software. Topics include UML, requirements analysis, design methodologies, project management, testing, and human factor considerations. The course covers approaches to software engineering, documentation, project planning, and communication. Grading includes midterm exam, project planning stages, progress reviews, lecture presentation, and finished product presentation.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
CSE 416 Introduction SOFTWARE ENGINEERING
Who am I? Richard McKenna richard@cs.stonybrook.edu New CS 216 Tu 11:30am-1:00pm Th 11:30am-1:00pm http://www.cs.stonybrook.edu/~richard
Course homepage http://www.cs.stonybrook.edu/~cse416/Section02 syllabus schedule (lecture slides, hw, etc ) etc. https://it.stonybrook.edu/services/brightspace grades
Course description Introduces the basic concepts and modern tools and techniques of software engineering. Emphasizes the development of reliable and maintainable software via system requirements and specifications, software design methodologies including object-oriented design, implementation, integration, and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor issues. NOTE: C or higher in CSE 316; and CSE major; and U4 standing.
Course topics Approaches to software engineering The UML (Universal Modeling Language) Requirements Analysis and Use Case Modeling Object Modeling and/or Functional Modeling Dynamic Modeling using appropriate diagrammatic approaches Specification Documents Design Documents Testing Project Planning Software Engineering tools Oral and Written Communication
Planning Stages Discovery Systems Analysis Use Case Modeling User Interface Modeling Data Modeling Domain Modeling Software Modeling Test Modeling
Implementation Stages Progress Review Meetings with Professor/TAs Formal Testing Incremental System Testing
How are grades computed? Midterm Exam Proof of Concept 5 Project Planning Stages 5 Progress Reviews Lecture Presentation Finished Product & Presentation 20 % 10 % 20 % 20 % 5 % 25 % 100 % Note CEAS Policy: The Pass/No Credit (P/NC) option is not available for this course.
What tech are we using? The MERN stack plus other stuff Mongo Express React Node Why? We use this in 316 everyone here has been trained in these technologies
App Deployment Throughout your development lifecycle your app will be deployed live. Where? That s up to you.
Teams Let's start by making teams of 4 pick a named color that your UI will use Rules to start: teammates must always be respectful to one another teammates must always answer each others' emails/texts teammate should learn and know each others' schedules
Team Rules Can a teammate be traded? i.e. the Software Engineer to be named later clause Can a teammate be fired? yes Obvious advice: team members commitment to the project is a commitment to each other team members help each other succeed team members communicate concerns and progress
What happens during a meeting? Agenda is prepared and sent out before the meeting Preparation is always key Go to the meeting knowing what needs to be decided Take attendance Make decisions leaving the meeting knowing the who what when where how and why of each decision Don t waste people s time
Document all team meetings Date Attendees Agenda (again, best if decided ahead of time) Meeting Minutes (follows the discussion) Action Items
Whats an action item? An assigned task All tasks should have: owner completion date dependencies Task assignments must be reviewed/followed up even those with distant horizons Is it on track? Does the owner need help? Is the owner overloaded?
Now for the project ALL PAST PROGRAMMING SINS ARE FORGIVEN
Your first Assignment (for Thursday) 1. Find a team 2. As a team, find a shapefile here: https://www.diva-gis.org/gdata 3. Upload the shapefile here: https://mapshaper.org/ 4. Generate and download a GeoJson file here: https://geojson-maps.ash.ms/ 5. Open your GeoJson file here: https://geojson.io/